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

2021-10-02 03:31:46 字數 503 閱讀 4861

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

空間複雜度:o(1)

(2)使用輔助陣列,先遍歷一遍原陣列,提取出奇數順序放入輔助陣列,再遍歷一遍原陣列,提取出偶數順序放入輔助陣列,最後將輔助陣列賦值給原陣列。

時間複雜度:o(n)

空間複雜度:o(n)

先複製資料到輔助陣列然後更改原陣列的值,或者先更改輔助陣列的值再複製到原陣列,是一樣的。

class

solution

};

(1)(vec[i]&1)==0vec[i]&1==0有什麼區別?不要忘了。

(2)如果不需要保證元素的相對順序,可以使用快速排序中的partition操作。

劍指offer 調整陣列順序

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

劍指offer(調整陣列順序)

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

劍指offer(十三) 調整陣列順序

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。題解 思路簡單的解法就是,建兩個臨時陣列,乙個奇數陣列,乙個偶數陣列,最後再組合起來即可,時間複雜度為o n 一解 pub...