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
itừ 0 đếnlengthbước 4:- Nếu
i+2 < length: hoán đổinums[i]vànums[i+2] - Nếu
i+3 < length: hoán đổinums[i+1]vànums[i+3]
- Nếu
- 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]