程式用 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.