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

2021-10-03 22:15:02 字數 787 閱讀 1556

題目描述

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

解 題思

路:\color解題思路:

解題思路

:注意這道題要求我們把奇數、偶數分開,並且奇數的相對順序、偶數的相對順序不發生改變。 所以不能簡單的交換偶數、奇數,只能將相鄰的位置進行交換,演算法的複雜度初步估計在o(n2)級別。

我們可以採取以空間換時間的方式,先把陣列複製一遍,第一次遍歷從左到右挑出奇數,第二次遍歷從左到右挑出偶數。

代 碼實

現:\color**實現:

**實現

class

solution

}//第一次遍歷arraytemp,從左到右挑出偶數重寫到array

題 目推

薦:\color題目推薦:

題目推薦

:題1、leetcode 搜尋二維矩陣

題2、leetcode 顏色分類(三路快排)

題3、leetcode 最長的有效括號(棧、動態規劃)

劍指offer 調整陣列順序

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

劍指offer(調整陣列順序)

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

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

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