สมมุติว่าเรามีอาร์เรย์ A ที่มีตัวเลขอยู่บ้าง เราต้องเรียงเลขเป็นคู่แล้วคี่ ให้ใส่เลขคู่ก่อน ตามด้วยเลขคี่ ดังนั้นหากอาร์เรย์เป็นเหมือน A =[1, 5, 6, 8, 7, 2, 3] ผลลัพธ์จะเป็นเช่น [6, 8, 2, 1, 5, 7, 3]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ตั้งค่า i :=0 และ j :=0
- ในขณะที่ 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]