Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình thay thế từng phần tử bằng số hạng nhỏ nhất ở phía bên trái trong Python

Giả sử chúng ta có một danh sách các số được gọi là num, chúng ta phải thay mọi nums [i] bằng phần tử nhỏ nhất còn lại của i. Chúng tôi phải thay thế nums [0] bằng 0.

Vì vậy, nếu đầu vào là [15, 7, 9, 16, 12, 25], thì đầu ra sẽ là [0, 15, 7, 7, 7, 7]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu nums trống, thì
    • trả lại một danh sách mới
  • j:=nums [0]
  • nums [0]:=0
  • đối với tôi trong phạm vi từ 1 đến kích thước là nums - 1, thực hiện
    • k:=nums [i]
    • nums [i]:=j
    • j:=tối thiểu của j, k
  • trả về số

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

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

Đầu ra

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