Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Sắp xếp mảng theo chẵn lẻ trong Python


Cho một mảng A chứa các số. Yêu cầu sắp xếp sao cho các số chẵn đứng trước, số lẻ đứng sau. Ví dụ: A = [1, 5, 6, 8, 7, 2, 3] thì kết quả là [6, 8, 2, 1, 5, 7, 3].

Giải pháp

Các bước:

  • Khởi tạo i = 0, j = 0.
  • Trong khi j < kích thước mảng:
    • Nếu arr[j] chẵn: hoán đổi arr[i] và arr[j], tăng i lên 1.
    • Tăng j lên 1.
  • Trả về mảng đã sắp xếp.

Ví dụ

Triển khai Python:

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]))

Đầu vào

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

Đầu ra

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