leetcode No 905 按奇偶排序陣列

2021-09-24 12:36:57 字數 850 閱讀 3427

給定乙個非負整數陣列 a,返回乙個陣列,在該陣列中, a 的所有偶數元素之後跟著所有奇數元素。

你可以返回滿足此條件的任何陣列作為答案。

1 <= a.length <= 5000

0 <= a[i] <= 5000

class

solution

(object):

defsortarraybyparity

(self, a)

:"""

:type a: list[int]

:rtype: list[int]

"""left,right=0,

len(a)-1

while

(left:if a[left]%2

==0:if a[right]%2

!=0: left+=

1 right-=

1else

: left+=

1elif a[left]%2

!=0:if a[right]%2

==0: a[left]

,a[right]

=a[right]

,a[left]

left+=

1 right-=

1else

: right-=

1return a

使用雙指標,將後面的偶數與前面的奇數交換。

時間複雜度:o(n)

空間複雜度:o(1)

905 按奇偶排序陣列

題目 思路分析 這道題是讓我們調整給定的a陣列裡面的元素,把偶數放在前面,奇數放在後面,其實很簡單。1.定義兩個變數l和r,l從陣列第乙個元素開始往後走,r從陣列最後乙個元素開始往左走。2.需要用到迴圈,迴圈繼續條件是l3.兩個變數分別走,有4種情況。3.1.左邊元素是偶數,右邊元素是奇數,剛好符合...

905 按奇偶排序陣列

給定乙個非負整數陣列a,返回乙個陣列,在該陣列中,a的所有偶數元素之後跟著所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。1 a.length 50000 a i 5000想...

905 按奇偶校驗排序陣列

給定乙個非負整數陣列a,返回乙個由a的所有偶數元素組成的陣列,後面跟a的所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。1 a.length 50000 a i 5000 思...