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

Hoán đổi phần tử chỉ số chẵn và lẻ trong Python

Cho danh sách nums, hoán đổi từng cặp chỉ số chẵn liên tiếp (0↔2, 4↔6...) và từng cặp chỉ số lẻ liên tiếp (1↔3, 5↔7...).

Ví dụ: [1,2,3,4,5,6,7,8,9] → [3,4,1,2,7,8,5,6,9].

Các bước giải quyết

  • length = len(nums)
  • Duyệt i từ 0 đến length bước 4:
    • Nếu i+2 < length: hoán đổi nums[i] và nums[i+2]
    • Nếu i+3 < length: hoán đổi nums[i+1] và nums[i+3]
  • Trả về nums

Ví dụ mã Python

class Solution:
    def solve(self, nums):
        length = len(nums)
        for i in range(0, length, 4):
            if i+2 < length:
                nums[i], nums[i+2] = nums[i+2], nums[i]
            if i+3 < length:
                nums[i+1], nums[i+3] = nums[i+3], nums[i+1]
        return nums

ob = Solution()
nums = [1,2,3,4,5,6,7,8,9]
print(ob.solve(nums))

Đầu vào

[1,2,3,4,5,6,7,8,9]

Đầu ra

[3, 4, 1, 2, 7, 8, 5, 6, 9]