75-Sort Colors
来源:互联网 发布:查询统计不重复的数据 编辑:程序博客网 时间:2024/06/05 00:44
题目
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.
Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively.
分析
思路一:
思路二:
三个指针
实现
class Solution {public: void sortColors(vector<int>& nums) { int n1 = -1, n2 = -1, n3 = -1; for (int i = 0; i < nums.size(); i++) { if (nums[i] == 0) { nums[++n1] = 2; nums[++n2] = 1; nums[++n3] = 0; } else if (nums[i] == 1) { nums[++n1] = 2; nums[++n2] = 1; } else { nums[++n1] = 2; } } } void sortColorsII(vector<int>& nums) { if (nums.size() == 0) return; int i = 0, j = nums.size() - 1, k = 0; while (k <= j) { while (k<=j&&nums[i] == 0) { i++; k++; } while (k<=j&&nums[k] == 1) k++; while (k <= j&&nums[j] == 2) j--; if(k<=j) swap(nums, k, j); if (k <= j&& nums[k] == 0) swap(nums, i, k); } } void swap(vector<int>& nums, int i, int j) { int tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp; }};
阅读全文
0 0
- Leetcode 75 Sort Colors
- LeetCode 75 Sort Colors
- [leetcode 75] Sort Colors
- LeetCode 75 Sort Colors
- leetcode-75 Sort Colors
- [leetCode 75] Sort Colors
- LeetCode 75 Sort Colors
- leetcode || 75、Sort Colors
- Leetcode 75Sort Colors
- Sort Colors - LeetCode 75
- 75Sort Colors
- leetcode 75:Sort Colors
- LeetCode(75) Sort Colors
- Leetcode # 75 Sort Colors
- leetcode 75: Sort Colors
- 75Sort Colors
- Leetcode#75||Sort Colors
- Leetcode 75:Sort Colors
- 有序表归并算法
- 在Java中调用C/C++
- 【WPF】Xaml设置图标
- 74-Search A 2D Matrix
- python机器学习
- 75-Sort Colors
- jqGrid---问题:多级表格展开“+”按钮显示不出来
- spring boot 学习
- Day05_spark
- 78-Subsets
- linux--su
- DM368开发 -- 视频监控系统相关技术研究(转毕设)
- Oracle-1
- Android 源码开发去掉弹出的默认程序。