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

จัดเรียงอาร์เรย์ตามพาริตีใน Python

สมมติว่าเรามีอาร์เรย์ A ที่มีตัวเลขบางจำนวน เราต้องจัดเรียงตัวเลขให้เป็นเลขคู่ก่อนแล้วค่อยเลขคี่ นั่นคือวางเลขคู่ไว้หน้าสุด จากนั้นจึงเลขคี่ เช่น ถ้าอาร์เรย์เป็น A = [1, 5, 6, 8, 7, 2, 3] ผลลัพธ์จะเป็น [6, 8, 2, 1, 5, 7, 3]

วิธีการแก้ปัญหา

  • ตั้งค่า i := 0 และ j := 0
  • while j < ขนาดของ arr:
    • ถ้า arr[j] เป็นเลขคู่ ให้สลับ arr[i] และ arr[j] และเพิ่ม i ขึ้น 1
    • เพิ่ม j ขึ้น 1
  • คืนค่า arr

ตัวอย่างโค้ด

class Solution(object):
    def sortArrayByParity(self, a):
        i = 0
        j = 0
        while j < len(a):
            if a[j] % 2 == 0:
                a[i], a[j] = a[j], a[i]
                i += 1
            j += 1
        return a

ob1 = Solution()
print(ob1.sortArrayByParity([1,5,6,8,7,2,3]))

อินพุต

[1,5,6,8,7,2,3]

เอาต์พุต

[6,8,2,5,7,1,3]