把奇 偶數 或某種特徵的數 都放在陣列左邊問題

2021-08-07 04:39:23 字數 561 閱讀 7752

點:按某種維度去聚集問題,典型的陣列按相遇問題搞

題意:如陣列[1,5,3,2,4,7,8,66,34,21,23,56,99],希望把全部的奇數集中在陣列左邊,偶數放右邊,如[1,3,5,7,9,2,4,6,8,0]這樣

劍指offer面試題14

思路:按某種維度去聚集問題,典型的陣列按相遇問題搞。兩個指標乙個在頭乙個在尾,乙個向前乙個向後,不斷一方把本方不符的和對方不符的進行交換,注意一方不符對方符合時要移動對方指標直到發現對方也不符為止。

**:

#include #include int main () 

std::cout << std::endl;

for (int i = 0, j = 19; i < j;) else if (l % 2 == 1 && r % 2 == 1) else if (l % 2 == 0 && r % 2 == 0) else

}for (int i = 0; i < 20; i++)

std::cout << std::endl;

return 0;

}

奇偶數分離

描述 有乙個整型偶數n 2 n 10000 你要做的是 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出。輸入第一行有乙個整數i 2 i 30 表示有 i 組測試資料 每組有乙個整型偶數n。輸出第一行輸出所有的奇數 第二行輸出所有的偶數 樣例輸入210 14樣例輸出 1 3 5 7 9...

奇偶數分離

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 有乙個整型偶數n 2 n 10000 你要做的是 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出。輸入第一行有乙個整數i 2 i 30 表示有 i 組測試資料 每組有乙個整型偶數n。輸出第一行輸出所有的奇數 第二...

奇偶數分離

奇偶數分離 時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 有乙個整型偶數n 2 n 10000 你要做的是 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出。輸入 第一行有乙個整數i 2 i 30 表示有 i 組測試資料 每組有乙個整型偶數n。輸出 第一行輸出...