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]