สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องแลกเปลี่ยนจำนวนคู่ที่ต่อเนื่องกันทุกตัว
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[4, 5, 6, 8, 10] ผลลัพธ์จะเป็น [6, 5, 4, 10, 8]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- อุณหภูมิ :=null
- สำหรับ i ในช่วง 0 ถึงขนาดของ nums ให้ทำ
- ถ้า nums[i] mod 2 เหมือนกับ 0 แล้ว
- ถ้า temp ไม่เป็นค่าว่าง
- แลก nums[i], nums[temp]
- อุณหภูมิ :=null
- มิฉะนั้น
- อุณหภูมิ :=ฉัน
- ถ้า temp ไม่เป็นค่าว่าง
- ถ้า nums[i] mod 2 เหมือนกับ 0 แล้ว
- หมายเลขส่งคืน
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, nums): temp = None for i in range(len(nums)): if nums[i] % 2 == 0: if temp is not None: nums[i], nums[temp] = nums[temp], nums[i] temp = None else: temp = i return nums ob = Solution() print(ob.solve([4, 5, 6, 8, 10]))
อินพุต
[4, 5, 6, 8, 10]
ผลลัพธ์
[6, 5, 4, 10, 8]