調整陣列順序使奇數位於偶數前面,偶數和偶數之間的相對位置不變
題目:輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
思路:先掃描一遍陣列,做三件事,1、奇數往前挪,2、統計偶數個數,3、儲存偶數到佇列。掃描結束後,奇數都被挪到了前邊,緊湊的挨在一塊,後邊留出了一些空餘的位置,位置的個數就是偶數的個數。將儲存在佇列裡邊的偶數按照進佇列的順序塞到後邊的空餘位置即可。
import java.util.LinkedList; public class Solution { public void reOrderArray(int [] array) { LinkedList<Integer> queue=new LinkedList<>(); /*記錄偶數的個數*/ int even_numbers=0; /*掃描一遍,奇數往前挪,偶數儲存起來*/ for(int i=0;i<array.length;i++){ if(array[i]%2==0){ even_numbers++; queue.add(array[i]); }else{ array[i-even_numbers]=array[i]; } } /*上一步奇數往前挪動的時候後面留出了event_numbers個位置 * 儲存在佇列裡邊的偶數按照出現順序依次填進這些空餘的位置*/ for(int i=array.length-even_numbers;i<array.length;i++){ array[i]=queue.pop(); } } }
相關文章
- JZ-013-調整陣列順序使奇數位於偶數前面陣列
- 【劍指Offer】調整陣列順序使奇數位於偶數前面陣列
- 劍指 Offer 21. 調整陣列順序使奇數位於偶數前面陣列
- 面試題21:調整陣列順序奇數位於偶數前面面試題陣列
- 使奇數位於偶數前面
- [每日一題] 第十一題:調整陣列順序使奇數位於偶數前面每日一題陣列
- LeetCode題解(Offer21):調整陣列順序使奇數位於偶數前面(Python)LeetCode陣列Python
- 【C語言】調整陣列使奇數全部都位於偶數前面。C語言陣列
- 面試演算法題(4)--將一個整數陣列中的所有奇數放到偶數前面面試演算法陣列
- 求陣列內所有偶數的和陣列
- 第三章:查詢與排序(下)------------- 3.8題解_調整陣列順序-奇數在左偶數在右排序陣列
- 1295 統計位數為偶數的數字
- Table tr 奇數偶數行漸變色Jquery實現jQuery
- 統計位數為偶數的數字(C++)C++
- 偶數求和 hd 2015
- 1到100迴圈,並把奇數放到陣列中,把偶數放到map中陣列
- c語言 將一個陣列中的奇數和偶數分開放在一起C語言陣列
- 輸出區間內的偶數和(遞迴)遞迴
- 面試題 - 使用執行緒交替列印奇數偶數面試題執行緒
- 面試題-使用執行緒交替列印奇數偶數面試題執行緒
- 找出N以內的偶數
- 求1000以內所有偶數的和
- R語言中如何抽取向量的偶數項或者奇數項R語言
- 怎麼判斷Python數字中的偶數Python
- 全正數偶數斐波那契數列最高層製作方法
- [譯] 斐波那契數列中的偶數 (Python vs. JavaScript)PythonJavaScript
- Linux 中sed命令輸出奇數行和偶數行的方法Linux
- CF365D-區間內出現偶數次的數的異或和
- 2022管綜數學-考點1:奇數、偶數、實數運算,考點 2:質數、合數
- 統計整數區間[N,M](N,M<100000)中所以非偶數的合數個數,並輸出這個數。
- 尤拉計劃709:偶數袋
- ts中如何限制方法傳入的引數data必須是陣列,且為偶數項?陣列
- 「圖譜謎宮」(逢偶數日期更新)
- 奇升偶降
- 在頁面中的應該使用奇數還是偶數的字型?為什麼呢?
- LeetCode 2455[可被三整除的偶數平均值]LeetCode
- 輸入一個整數陣列,輸出奇偶數相間排列的陣列陣列
- 編寫類 AA ,有一個方法:判斷一個數是奇數 odd 還是偶數, 返回 booleanBoolean
- 對偶理論和對偶單純形法——Python實現Python