在Python中查找要添加到给定总和的最小元素的程序

在Python中查找要添加到给定总和的最小元素的程序

假设我们有一个名为nums的数组和两个值limit和goal。这个数组是特殊的,因为|nums[i]|<=limit对于从0到数组大小-1的所有i都成立。我们必须找到要插入的最小元素数量,以使数组的总和与目标相同。数组元素不应超过限制值。

因此,如果输入如下nums=[2,-2,2],limit=3,goal=-4,则输出将为2,因为我们可以添加两个(-3)使数组为[2,-2,2,-3,-3]。

要解决此问题,我们将按以下步骤进行 –

  • s:= nums中存在的所有元素的总和

  • ab:= |goal-s|

  • 返回(ab / limit)的上舍入值

例子

让我们看以下实现以更好地理解 –

from math import ceil

def solve(nums, limit, goal):
   s = sum(nums)
   ab = abs(goal-s)
   return ceil(ab / limit)

nums = [2,-2,2]
limit = 3
goal = -4
print(solve(nums, limit, goal))

输入

[2,-2,2],3,-4

输出

2.0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程