lintcode 144 交錯正負數

2022-03-29 15:10:36 字數 546 閱讀 5529

給出乙個含有正整數和負整數的陣列,重新排列成乙個正負數交錯的陣列。

注意事項

不需要保持正整數或者負整數原來的順序。

樣例給出陣列[-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方法必須是要...