Python 程式:查詢在開頭插入的最小值,以使所有字首和為正


假設我們有一個名為 nums 的數字列表。我們必須找到可以在 nums 的開頭插入的最小正值,以便生成的列表的字首和都大於 0。

因此,如果輸入類似於 nums = [3, -6, 4, 3],則輸出將為 4,因為如果我們將 4 插入到列表中,則我們有 [4, 3, -6, 4, 3]。現在字首和為 [4, 7, 1, 5, 8],全部大於 0。

為了解決這個問題,我們將遵循以下步驟:

  • 在位置 0 將 0 插入 nums

  • 對於 i 從 1 到 nums 的大小 - 1,執行以下操作:

    • nums[i] := nums[i] + nums[i - 1]

  • 返回 1 - nums 的最小值

示例

讓我們看看以下實現以更好地理解

def solve(nums):
   nums.insert(0, 0)
   for i in range(1, len(nums)):
      nums[i] += nums[i - 1]
   return 1 - min(nums)

nums = [3, -6, 4, 3]
print(solve(nums))

輸入

[3, -6, 4, 3]

輸出

4

更新於: 2021年10月12日

178 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.