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

假设我们有一个名为 nums 的数组和两个值 limit 和目标。这个数组很特别,因为 |nums[i]| <= limit for all i from 0 to size of array - 1. 我们必须找到要插入的最小元素数,以使数组的总和与目标相同。数组元素不应超过限制值。

所以,如果输入像 nums = [2,-2,2], limit = 3,goal = -4,那么输出将是 2,因为我们可以添加两个 (-3),这样数组将是[2,-2,2,-3,-3]

示例

让我们看看以下实现以获得更好的理解 -

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