Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สลับองค์ประกอบคู่ที่ต่อเนื่องกันใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า 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
      • มิฉะนั้น
        • อุณหภูมิ :=ฉัน
  • หมายเลขส่งคืน

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

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]