劍指offer 調整陣列內奇偶數順序

2022-08-25 17:39:19 字數 553 閱讀 2902

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

時間換空間的:

思想可以參考插入排序。時間複雜度為o(n^2),空間複雜度為o(1)

class solution 

array[j+1]=tmp;}}

}};

類似的,也可以用快排思想解決這個問題。

空間換時間的:

//第二個思路:再建立乙個陣列

class solution

else

}vector::iterator ib2, ie2;

ib2 = array_temp.begin();

ie2 = array_temp.end();

for (; ib2 != ie2; ib2++)             //將新陣列的數新增到老陣列

}};第二個思路的優化:

不用刪除偶數,在陣列中刪除偶數帶來額外的開銷,記錄偶數的位置,然後下乙個基數直接覆蓋過去就行!

劍指offer 調整陣列順序

時間限制 1秒 空間限制 32768k 本題知識點 陣列 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。首先想到的是利用兩個輔助陣列,乙個儲存奇數,乙個儲存偶數,這樣的...

劍指offer(調整陣列順序)

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。1 暴力解法 從前到位掃瞄陣列,如果出現前面是偶數後面是奇數的情況,則交換。其中使用氣泡排序的思想。從後面朝前比較,使用外迴圈控制趟...

劍指offer 調整陣列順序使奇數字於偶數前面

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 9 30 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。解析 思路 於快速排序的分治劃分的時候,有一種...