故人西辞黄鹤楼,烟花三月下扬州。
孤帆远影碧空尽,唯见长江天际流。
今天吃了一顿送别餐,一个一起工作的很久的小伙伴将要离开。。。
前言
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,
使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。
解题思想
1.定义三个变量a、b、c分别代表红黄蓝三种球的个数
2.遍历数组分别求出a、b、c的值
3.依次往数组中插入相应的值
代码实现
void sortColors(vector<int>& nums) {
int a = 0, b = 0, c = 0;
int len = nums.size();
for(int i = 0; i < len; i++){
if(nums[i] == 0){
a++;
}else if(nums[i] == 1){
b++;
}else if(nums[i] == 2){
c++;
}
}
nums.clear();
nums.insert(nums.begin(),c,2);
nums.insert(nums.begin(),b,1);
nums.insert(nums.begin(),a,0);
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。