สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราจะแลกเปลี่ยนดัชนีคู่ที่ต่อเนื่องกัน และแลกเปลี่ยนดัชนีคี่ที่ต่อเนื่องกันแต่ละดัชนี
ดังนั้น หากอินพุตเป็น [1,2,3,4,5,6,7,8,9] ผลลัพธ์จะเป็น [3, 4, 1, 2, 7, 8, 5, 6, 9 ]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ความยาว :=ขนาดของตัวเลข
- สำหรับฉันในช่วง 0 ถึงความยาว เพิ่มขึ้น 4 ทำ
- ถ้า i+2<ความยาว แล้ว
- แลกเปลี่ยน nums[i] และ nums[i+2]
- ถ้า i+3<ความยาว แล้ว
- แลก nums[i+1] และ nums[i+3]
- ถ้า i+2<ความยาว แล้ว
- หมายเลขส่งคืน
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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))
อินพุต
[1,2,3,4,5,6,7,8,9]
ผลลัพธ์
[3, 4, 1, 2, 7, 8, 5, 6, 9]