今天在這個博客裏看到了一道這樣的題:
原題:
一個數組,裏邊存放三種球顏色值:紅球爲 'R',綠球爲 'G ',藍球爲 'B ',
編程對該數組排序,使該數組最後的顏色排列如下:前邊元素全部爲 'R ',中間元素全部爲 'G ',後邊爲 'B '
要求: 儘可能用swap,不允許分配連續的輔助空間。
舉例:
數組輸入爲:RGGBBRRGBRR
輸出 :RRRRRGGGBBB
好久沒寫代碼了,所以有一種莫名的衝動自己也寫一個.
以下是我的解法.時間複雜度爲O(n)