您的位置:首页 > 其它

LeetCode Sort Colors (技巧)

2015-11-02 20:04 176 查看
题意:

  一个数组只可能含有3种数据,分别为1,2,3,请将数组排序(只能扫一遍)。

思路:

  如果扫两遍的话,用个桶记录一下,再赋值上去就行了。

class Solution {
public:
void sortColors(vector<int>& nums) {
int L=-1, R=nums.size();
for(int i=0; i<R; i++)
{
while(i<R&&nums[i]==2)
swap(nums[i],nums[--R]);
if(nums[i]==0)
swap(nums[i],nums[++L]);
}
}
};


AC代码

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: