假设我们有一个名为 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