用 Python 替換每個元素為其左側的最小值的程式


假設我們有一個名為 nums 的數字列表,我們用 i 左側的最小元素替換每個 nums[i]。我們用 0 替換 nums[0]。

因此,如果輸入類似於 [15, 7, 9, 16, 12, 25],則輸出將為 [0, 15, 7, 7, 7, 7]

為求解此問題,我們執行以下步驟:

  • 如果 nums 為空,則
    • 返回一個新列表
  • j:= nums[0]
  • nums[0]:= 0
  • 對於 1 到 nums 大小的範圍內的 i 執行
    • k:= nums[i]
    • nums[i]:= j
    • j:= j、k 中的最小值
  • 返回 nums

讓我們看看以下實現以加深理解:

示例

 線上演示

class Solution:
   def solve(self, nums):
      if not nums:
         return []
         j=nums[0]
         nums[0]=0
         for i in range(1,len(nums)):
            k=nums[i]
            nums[i]=j
            j=min(j,k)
         return nums
ob = Solution()
nums = [15, 7, 9, 16, 12, 25]
print(ob.solve(nums))

輸入

[15, 7, 9, 16, 12, 25]

輸出

[0, 15, 7, 7, 7, 7]

更新於:06-10-2020

183 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告