程序用 Python 查找在给定和中形成的数组中的最小元素


假设我们有一个名为 nums 的数组和两个值 limit 与 goal。该数组很特殊,因为在 0 到数组大小-1 之间的所有 i,|nums[i]| <= limit。我们必须找到要插入的最小元素数,以使数组的和与 goal 相同。数组元素不应超过 limit 值。

因此,如果输入类似于 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

更新于: 2021-10-06

293 个阅读次数

开启你的 事业

完成课程并获得认证

立即开始
广告
© . All rights reserved.