75. 顏色分類
難度中等472
給定乙個包含紅色、白色和藍色,一共 n 個元素的陣列,原地對它們進行排序,使得相同顏色的元素相鄰,並按照紅色、白色、藍色順序排列。
此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。
注意:
不能使用**庫中的排序函式來解決這道題。
輸入: [2,0,2,1,1,0]
輸出: [0,0,1,1,2,2]
使用兩個指標,0向前移動,2向後移動
void sortcolors(vector& nums)
}
官方答案: 原理同上
//荷蘭三色旗問題解
void sortcolors(vector& nums)
}
演算法面試題三
螺旋佇列問題 看清一下數字排列的規律,設1點的座標是 0,0 x方向向右為正,y方向向下為正,列如7的座標是 1,1 2的座標是 0,1 3的座標是 1,1 程式設計實現輸入任意一點座標 x,y 輸出所對應的數字。21 22 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 1...
php面試題 三 演算法
冒泡演算法排序 基本思想 對需要排序的陣列從後往前 逆序 進行多遍的掃瞄,當發現相鄰的兩個數值的次序與排序要求的規則不一致時,就將這兩個數值進行交換。這樣比較小 大 的數值就將逐漸從後面向前面移動。public function bubblesort 快速排序 基本思想 在陣列中挑出乙個元素 一般為...
演算法面試題 帶環鍊錶之靈魂三問!
今天舍友二狗子又去面試了,回來就問我們演算法問題,看來對於ios開發來說演算法是乙個大難題啊!今天是什麼呢?當然是帶環鍊錶的問題了。這就讓我想起了當初的帶環鍊錶三連問!現場慌的不行不行的。一句話解釋 使用快慢指標,同時指向頭節點,slow指標每次走乙個節點,fast指標每次走兩個節點,最終如果兩個指...