在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