給定乙個存放整數的陣列,重新排列陣列使得陣列左邊為奇數,右邊為偶數。
要求:空間複雜度o(1),時間複雜度為o(n)。
注:題目**,v_july_v
思路:我的想法是從兩邊遍歷,從左邊遍歷的如果是奇數就繼續留著,從右邊遍歷的如果是偶數就繼續留在右邊,如果是奇數就和從左邊遍歷遇到的第乙個偶數交換,我一下就有了思路,可能是因為昨天才做了雙向氣泡排序。
**可能還有些問題,時間複雜度肯定是符合的,空間複雜度不太懂。定義了較多中間變數,不知道符合不。還希望有懂的道友幫忙解答。
#include#define length 10
int main()
; int temp;
int i=0;
int j=length-1;
while(i
百度筆試題
一 選擇題 15分 共10題 1.在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是 a.shell排序 b.歸併排序 c.直接插入排序 d.選擇排序 2.以下多執行緒對int型變數x的操作,哪幾個需要進行同步 a.x y b.x c.x d.x 1 3.void func 中,變數val的記憶體...
百度筆試題
一 選擇題 15分 共10題 1.已知乙個線性表 38,25,74,63,52,48 採用的雜湊函式為hash key key mod 7,將元素雜湊到表長為7的雜湊表中儲存。請選擇後面兩種衝突解決方法分別應用在該雜湊表上進行等概率成功查詢的平均查詢長度,拉鍊法 線性探測法 a.1.0 b.1.5 ...
百度筆試題
1 完成函式 size t foo unsigned int a1,size t al1,unsigned int a2,size t al2 其中a1和a2都為無符號陣列,al1和al2為陣列的長度,陣列的長度為偶數。無符號陣列由一對數字區間組成。如下例 a1 為 0,1,3,6,10,20 a2...