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

โปรแกรมค้นหาอาร์เรย์โดยสลับคู่ดัชนีต่อเนื่องกันใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums เราต้องส่งคืนรายการโดยสลับดัชนีคู่ที่ต่อเนื่องกัน และสลับดัชนีคี่ที่ต่อเนื่องกัน

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8,5,3,4,8,9,3,6,4,7] ผลลัพธ์จะเป็น [3, 4, 8, 5, 3, 6, 8 , 9, 4, 7]

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับฉันในช่วง 0 ถึงขนาดของ nums - 2 เพิ่มขึ้น 4 ทำ
    • ถ้า i + 2 <ขนาดของ nums แล้ว
      • สลับ nums[i] และ nums[i + 2]
    • ถ้า i + 3 <ขนาดของ nums แล้ว
      • สลับ nums[i + 1] และ nums[i + 3]
  • หมายเลขส่งคืน

ตัวอย่าง

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

def solve(nums):
   for i in range(0, len(nums) - 2, 4):
      if i + 2 < len(nums):
         nums[i], nums[i + 2] = nums[i + 2], nums[i]
      if i + 3 < len(nums):
         nums[i + 1], nums[i + 3] = nums[i + 3], nums[i + 1]

   return nums

nums = [8,5,3,4,8,9,3,6,4,7]
print(solve(nums))

อินพุต

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

ผลลัพธ์

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