題解六十七

2021-10-07 13:41:04 字數 803 閱讀 2337

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有奇數字於陣列的前半部分,所有偶數字於陣列的後半部分。

示例:輸入: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...