每日一題 LeetCode之顏色分類

2021-10-03 22:02:23 字數 459 閱讀 5391

給定乙個包含紅色、白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。

此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。

注意:不能使用**庫中的排序函式來解決這道題。

示例:輸入: [2,0,2,1,1,0]

輸出: [0,0,1,1,2,2]

思路:使用雙指標,left指標指向0的有邊界,right指向2的左邊界,index處為0時,交換left和index的值,index處為2時,與right交換,為1時,index++

public

void

sortcolors

(int

nums)

else

if(nums[i]==2

&&ielse

i++;}

}

每日一題 LeetCode

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...

每日一題 顏色分類(中等)

給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題。示例 輸入 2,0,2,1,1,0 輸出 0,0,1,1,2,...

每日一題 LeetCode之括號生成

給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 思路 使用深度優先遍歷實現,每乙個位置要麼是 要麼是 我們用兩個變數left和right儲存 和 的剩餘個數。每次遞迴,left或right減1,字串新增乙個相應的括號,當lef...