Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình thay thế mỗi phần tử bằng phần tử nhỏ nhất bên trái trong Python

Cho danh sách nums, thay thế mỗi nums[i] bằng phần tử nhỏ nhất ở bên trái của nó. nums[0] thay bằng 0.

Ví dụ

Đầu vào: [15, 7, 9, 16, 12, 25].
Đầu ra: [0, 15, 7, 7, 7, 7].

Thuật toán

  1. Nếu rỗng trả về danh sách rỗng.
  2. Lưu j = nums[0], đặt nums[0] = 0.
  3. Duyệt i từ 1 đến cuối:
    • Lưu k = nums[i].
    • Gán nums[i] = j.
    • Cập nhật j = min(j, k).
  4. Trả về nums.

Mã nguồn Python

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 / Đầu ra

Input: [15, 7, 9, 16, 12, 25]
Output: [0, 15, 7, 7, 7, 7]