日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

剑指offer之【调整数组顺序使奇数位于偶数前面】

發布時間:2025/3/20 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 剑指offer之【调整数组顺序使奇数位于偶数前面】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目要求:

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

解題方法:

  方法一:時間復雜度O(n^2)

    最容易想到:從頭掃描這個數組,每碰到一個偶數時,拿出這個數字,并把位于這個數字后面的所有數字往前挪動一位。挪完之后在數組的末尾有一個空位,這時把該偶數放入這個空位;

  方法二:時間復雜度O(n)

    重新建立一個向量,然后進行兩次掃描:第一次掃描奇數,第二次掃描偶數,完畢,不廢話,直接上代碼:

1 class Solution{ 2 public: 3 void reOrderArray(vector<int> &array){ 4 int len = array.size(); 5 vector<int> vec(array.begin(),array.end()); 6 int l = 0; 7 for(int x: vec){ 8 if(x%2==1){ 9 array[l++] = x; 10 } 11 } 12 for(int y : vec){ 13 if(y%2 == 0){ 14 array[l++] = y; 15 } 16 } 17 } 18 };

?

轉載于:https://www.cnblogs.com/wangshujing/p/6934629.html

總結

以上是生活随笔為你收集整理的剑指offer之【调整数组顺序使奇数位于偶数前面】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。