輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。
示例:輸入:nums = [1,2,3,4]
輸出:[1,3,2,4]
注:[3,1,2,4] 也是正確的答案之一。
思路:定義雙指標left、right,分別指向陣列的首部和尾部。
指標left從左向右尋找偶數;
指標right從右向左尋找奇數。
(1)在迴圈體left < right中執行, 當 left = right時跳出;
(2)指標 left遇到奇數則執行left + 1跳過,直到找到偶數;
(3)指標 right 遇到偶數則執行right - 1跳過,直到找到奇數;
(4)交換 nums[left]和 nums[right] 的值,這樣 指標 left左邊都是奇數,指標 right 右邊都是偶數 ;
(5)返回值: 返回已修改的nums 陣列。
x&1 位運算 等價於 x%2 取餘運算
class
solution
while
(left < right &&
(nums[right]&1
)==0)
int tmp = nums[left]
; nums[left]
= nums[right]
; nums[right]
= tmp;
}return nums;
}}
Lua程式設計(六十七)
協程的乙個經典問題就是生產者 消費者問題。在生產者 消費者問題中涉及兩個函式,乙個函式不斷地產生值 比如,從乙個檔案中讀取 另乙個函式不斷地消費這些值 比如,將值寫入另乙個檔案中 function producer while true do local x io.read send x enden...
CUDA學習(六十七)
數學函式 參考手冊列表及其說明列出了裝置 支援的c c 標準庫數學函式的所有功能,以及所有固有功能 僅在裝置 中支援 標準函式 本節中的功能可用於主機和裝置 本節規定了每個功能在裝置上執行時的錯誤界限,以及在主機不提供功能的情況下在主機上執行時的錯誤界限。加法和乘法符合ieee標準,因此最大誤差為0...
六十七課 經典問題解析五
1 編寫程式判斷乙個變數是不是指標 過載函式 函式模板 變參函式 2 思路 示例 指標判斷 include include using namespace std class test virtual test template char isptr t v int isptr define isp...