Leetcode 75 顏色分類

2021-10-06 16:44:49 字數 1436 閱讀 5684

筆者以c++方式解決。

#include

"iostream"

using namespace std;

#include

"algorithm"

#include

"vector"

#include

"queue"

#include

"set"

#include

"map"

#include

"string"

#include

"stack"

class solution

// 使用自定義快排

quicksort

(nums,

0, nums.

size()

-1);

}void

quicksort

(vector<

int>

&nums,

int left,

int right)

}int

partition

(vector<

int>

&nums,

int left,

int right)

nums[left]

= nums[right]

;while

(left < right && nums[left]

<= nums[right]

) nums[right]

= nums[left];}

nums[left]

= temp;

return left;}}

;int

main()

; solution *psolution = new solution;

psolution->

sortcolors

(nums)

;for

(int i =

0; i < nums.

size()

;++i)

cout << endl;

system

("pause");

return0;

}

執行結果

有點菜,有時間再優化一下。

難得有時間刷一波leetcode, 這次做乙個系統的記錄,等以後複習的時候可以有章可循,同時也期待各位讀者給出的建議。演算法真的是乙個照妖鏡,原來感覺自己也還行吧,但是演算法分分鐘教你做人。前人栽樹,後人乘涼。在學習演算法的過程中,看了前輩的成果,受益匪淺。

感謝各位前輩的辛勤付出,讓我們少走了很多的彎路!

leetcode 75 顏色分類

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

leetcode75 顏色分類

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

leetcode75 顏色分類

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