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

2021-08-26 15:15:26 字數 665 閱讀 2385

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變

def odd_(num):

for i in range(len(num)-1):

# k = 0

# for j in(i+1, len(num)):

if num[i] % 2 == 0 and num[i+1] % 2 == 1:#前偶數,後奇數就交換

num[i], num[i+1] = num[i+1], num[i]

while i > 0:

if num[i] % 2 == 1 and num[i-1] % 2 == 0:

num[i], num[i-1] = num[i-1], num[i]

i -= 1

return num

if __name__ == "__main__":

target = 2#int(input())

# arr = list(map(int, input().split()))

arr = [1, 2, 3, 4, 3]

# repeat_num(target, arr)

print(odd_(arr))

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

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

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

思路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 兩個指標,第乙個初始化指向陣列的第乙個數字,只向後移動 ...

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

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