/*将red,blue颜色的子数组段分别存到nums的头部
和尾部即可。参考自:
https://github.com/soulmachine/leetcode*/
class Solution {
public:
void sortColors(vector<int>& nums) {
int r(0), b(nums.size()-1);
for(int i = 0; i < b+1;){
if(nums[i] == 0){
swap(nums[i++], nums[r++]);
}
else if(nums[i] == 2){
swap(nums[i], nums[b--]);
}
else ++i;
}
}
};LeetCode之Sort Colors
最新推荐文章于 2024-11-13 23:54:20 发布
本文介绍了一种高效的三色排序算法实现方法,该算法能够快速地将数组中的元素分为三组(0、1、2),并按指定顺序排列。通过使用双指针技术,避免了不必要的元素交换,显著提高了排序效率。
173

被折叠的 条评论
为什么被折叠?



