75 顏色分類

2021-10-01 04:22:40 字數 386 閱讀 4537

設l,r為左右第乙個不符合要求的點。cur為當前遍歷的點,遍歷順序為從左往右。

當num[cur]==1時,cur++。

當num[cur]==0時,交換cur和l對應的數,然後cur++,l++。

當num[cur]==2時,交換cur和r對應的數,r–。

如果cur>l,說明l指向的數肯定是1,所以當num[cur] == 0時,交換cur和l後,兩者都要++。

如果cur==l,如果num[cur]==0,此時兩者都++是顯然的。

如果num[cur]==2,此時num[r]指向的數是不確定的,所以此時交換cur和r後cur不用++。

class

solution}}

;

75 顏色分類

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

75 顏色分類

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

75 顏色分類

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