สมมติว่าเรามีอาร์เรย์ 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]