假设我们有一个称为nums的数字列表,我们必须用i剩余的最小元素替换每个nums [i]。我们必须将nums [0]替换为0。
因此,如果输入类似于[15,7,9,9,16,12,25],则输出将为[0,15,7,7,7,7,7]
为了解决这个问题,我们将遵循以下步骤-
如果nums为空,则
返回新列表
j:=数字[0]
nums [0]:= 0
对于范围从1到nums的i-1,执行
k:= nums [i]
nums [i]:= j
j:= j,k的最小值
返回数字
让我们看下面的实现以更好地理解-
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]