每日一題 按奇偶排序陣列

2021-10-19 18:21:48 字數 1184 閱讀 6471

給定乙個非負整數陣列 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 <= 5000

0 <= a[i] <= 5000

最笨的辦法,遍歷陣列a,把偶數放在偶數列表中,奇數放在奇數列表中,遍歷完成後,把奇數列表追加到偶數列表後。

class

solution

:def

sortarraybyparity

(self, a)

: oushu =

jishu =

for i in a:

if i %2==

0:else

:for i in jishu:

return oushu

使用雙指標的解法

class

solution

:def

sortarraybyparity

(self, a)

: left_index =

0 right_index =

1while right_index <

len(a)

:if a[left_index]%2

==0: left_index +=

1 right_index +=

1else

:if a[right_index]%2

!=0: right_index +=

1else

: a[left_index]

, a[right_index]

= a[right_index]

, a[left_index]

left_index +=

1 right_index +=

1return a

力扣每日一題 按奇偶排序陣列2

給定乙個非負整數陣列 a,a 中一半整數是奇數,一半整數是偶數。對陣列進行排序,以便當 a i 為奇數時,i 也是奇數 當 a i 為偶數時,i 也是偶數。你可以返回任何滿足上述條件的陣列作為答案。示例 2 a.length 20000 a.length 2 0 0 a i 1000 1.分別建立乙...

按奇偶排序陣列

題目 給定乙個非負整數陣列 a,返回乙個陣列,在該陣列中,a 的所有偶數元素之後跟著所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。思路1 使用雙指標法,乙個指向首元素,乙個...

按奇偶排序陣列

小周老師的思路是,以下標為0,1兩個位置出發,步長為2,遍歷列表,比如找到下標為奇值為偶時就讓另乙個位置出發找標偶值奇,再交換兩個下標的位置就大功告成啦!速度比我的方法要快一點 class solution def sortarraybyparityii self,a list int list i...