用 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]
廣告