原题地址: https://leetcode.com/problems/sort-colors/
给定一个数组包含红,白,蓝三色的n个元素。原地排序他们,让相同的元素连在一起,顺序是红,白,蓝。
我们用0,1和2分表表示红,白,蓝。
注意:不允许用库函数里面的排序算法。
例如:
<strong>输入:</strong> [2,0,2,1,1,0] <strong>输出:</strong> [0,0,1,1,2,2]
思路很简单,因为不管输入多少,只有三种元素,我们可以统计三种元素出现的次数,然后,循环输出即可。这个叫做计数排序。效率很高一次统计即可以出结果。
我的实现如下:
我的实现0ms,超越了100%的Java提交,哈哈。
代码地址: https://github.com/tinyfool/leetcode/tree/master/src/p0075
其他排序相关题目,参照排序主题。