三色球數組分類排序

今天在這個博客裏看到了一道這樣的題:

 

原題: 
    一個數組,裏邊存放三種球顏色值:紅球爲 'R',綠球爲 'G ',藍球爲 'B ', 
    編程對該數組排序,使該數組最後的顏色排列如下:前邊元素全部爲 'R ',中間元素全部爲 'G ',後邊爲 'B '

 

要求: 儘可能用swap,不允許分配連續的輔助空間。

 

舉例:

   數組輸入爲:RGGBBRRGBRR

   輸出         :RRRRRGGGBBB

 

好久沒寫代碼了,所以有一種莫名的衝動自己也寫一個.

 

以下是我的解法.時間複雜度爲O(n)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章