leetcode-75.Sort Colors

题面

给定数组,将红-0、白-1、蓝-2,原地排序,要求相同颜色在一起。

样例

Input: [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]

算法(初级/垃圾)

遍历数组,统计0、1、2个数,在重新写入数组中。

O(n)

源码

 1 class Solution {
 2 public:
 3     void sortColors(vector<int>& nums) {
 4         int len = nums.size();
 5         if(len <= 1)
 6             return ;
 7         int count[3] = {0};
 8         for(int n : nums)
 9             count[n]++;
10         
11         int i = 0;
12         while(count[0]--)
13             nums[i++] = 0;
14         while(count[1]--)
15             nums[i++] = 1;
16         while(count[2]--)
17             nums[i++] = 2;
18     }
19 };
全部评论

相关推荐

05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务