調整陣列順序使奇數位於偶數前面(python)

2022-09-22 05:26:41 字數 1034 閱讀 2938

題目描述

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

方法1:冒泡  o(n^2)

1

#-*- coding:utf-8 -*-

2class

solution:

3def

reorderarray(self, array):

4def

help():

5for i in

range(len(array)):

6if array[i]%2==1:

7continue

8 j =i

9while j < len(array)-1:

10if array[j]%2 == 0 and array[j+1]%2!=0:

11 array[j],array[j+1]=array[j+1],array[j]

12 j+=1

13help()

14help()

15return array

方法2:雙端佇列o(n)

1

#-*- coding:utf-8 -*-

2from collections import

deque

3class

solution:

4def

reorderarray(self, array):

5 d =deque()

6for i in

range(len(array)):

7if array[i]%2==0:89

if array[len(array)-i-1]%2==1:

11return list(d)

2019-12-04 09:22:41