調整陣列順序使奇數字於偶數前 python

2021-10-01 14:04:06 字數 821 閱讀 5551

#思路1:從頭遍歷找到偶數從陣列中刪除並移動到陣列末尾 

arr =[2

,3,4

,5,8

,7,1

]for x in

range(0

,len

(arr)):

if arr[x]%2

==0: s = arr[x]

arr.remove(arr[x]

)#print(arr)

#思路2 兩個指標,第乙個初始化指向陣列的第乙個數字,只向後移動;第二個初始化指向陣列的最後乙個數字,只向前移動。在

#兩個指標相遇前,第乙個始終位於第二個前,第乙個指向奇數,第二個指向偶數,如果不是則交換

arr =[2

,3,4

,5,8

,7,1

]def

orderarray

(arr):if

len(arr)==0

:return

head =

0 tail =

len(arr)-1

while headwhile head!=0

:#還可以&1來判斷是否是偶數 while arr[head] &1 != 0:

head+=

1while head==0

: tail-=

1if headarr[head]

, arr[tail]

= arr[tail]

, arr[head]

return arr

#print(orderarray(arr))

調整陣列順序使奇數字於偶數前 python

解題思路 此題有兩個解題思路,我先寫出第乙個,後續補充 1.利用python的特點,建立兩個陣列,乙個存放奇數,乙個存放偶數,最後將兩個陣列合併即可。這題麻煩的一點是要保持順序。輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並...

Python 調整陣列順序使奇數字於偶數前面

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,是的所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。coding utf 8 時間複雜度為o n 空間複雜度為o n class solution def reorderarray s...

Python 調整陣列,使奇數字於偶數前

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變 def odd num for i in range len num 1 k 0 for j in i 1,len num if n...