給出乙個含有正整數和負整數的陣列,重新排列成乙個正負數交錯的陣列。思路注意事項
不需要保持正整數或者負整數原來的順序。
樣例給出陣列[-1, -2, -3, 4, 5, 6],重新排序之後,變成[-1, 5, -2, 4, -3, 6]或者其他任何滿足要求的答案
挑戰原地完成,沒有額外的空間
標籤兩根指標
要實現正負交錯的陣列,原陣列的正數和負數的數量之差是小於 1 的,所以可以利用這一性質,將負數挪到陣列左邊,正數挪到陣列右邊。然後判斷陣列中間的是整數還是負數,交換位置。
code
class solution
int p1 = 0, p2 = size - 1;
while(p1 < p2)
else
}if (size % 2 == 0)
else if(a[size/2]>0)
else
while (p1 < p2)
}};
Lintcode 144 交錯正負數
給出乙個含有正整數和負整數的陣列,重新排列成乙個正負數交錯的陣列。給出陣列 1,2,3,4,5,6 重新排序之後,變成 1,5,2,4,3,6 或者其他任何滿足要求的答案 完成題目,且不消耗額外的空間。不需要保持正整數或者負整數原來的順序。這道題目比較難,使用o n 的演算法來做的時候使用雙指標,奇...
14 4 選單功能
選單功能就是與使用者的溝通介面。1 在workermanager.h標頭檔案中新增show menu 成員函式。class workermanager 2 在workermanager.cpp中實現show menu 成員函式。其實這個函式就是在螢幕中把選單介面列印出來,沒什麼技術含量。顯示選單 v...
14 4 執行緒的通訊
執行緒通訊 乙個執行緒完成自己的任務時,就要通知另外乙個執行緒去 例子就是生產者與消費者關係 wait 等待。如果執行緒執行了wait方法,那麼該執行緒會進入等待的狀態 notify 喚醒等待的執行緒 注意 1 wait和notify方法是屬於objeck類的。2 wait和notify方法必須是要...