給定乙個包含紅色、白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。
此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。
注意:
不能使用**庫中的排序函式來解決這道題。
示例:
輸入: [2,0,2,1,1,0]
輸出: [0,0,1,1,2,2]
高階:
定義左中右三個指標,他們分別代表的值是0,1,2,三個指標的初始值是0,0,len
中間指標遍歷陣列,當中間指標的值是1,就往後遍歷,當中間指標的指向的值是0,就和左邊指標的值交換並且向左移左邊指標,當中間指標的值是2,就和右邊指標的值交換,並且向左移動右邊指標
當中間指標和右邊指標相遇,演算法結束
func sortcolors(nums int) else if nums[mid] == 0
low++
} else if nums[mid] == 2
}}
75 顏色分類 leetcode
給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 1.cur 遍歷到0時,與left指標交換值,cur 1,left 1 2.cur 遍歷到1時,不管...
leetcode刷題之 75 顏色分類
class solution def sortcolors self,nums list int none do not return anything,modify nums in place instead.a nums.count 0 b nums.count 1 c nums.count 2...
leetcode 75 顏色分類
給定乙個包含紅色 白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色 白色 藍色順序排列。此題中,我們使用整數 0 1 和 2 分別表示紅色 白色和藍色。注意 不能使用 庫中的排序函式來解決這道題。示例 輸入 2,0,2,1,1,0 輸出 0,0,1,1,2,...