用 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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.