75. Sort Colors

原创 2016年05月31日 15:25:05

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.

Note:
You are not suppose to use the library's sort function for this problem.

题意:数组中含有0,1,2。把数组所有的2放一块儿,所有的1放一块儿,所有的0放一块儿。

思路:类似于快排的思想,开辟存放0的空间,不断增加。也开辟存放2的空间,不断移动指针。中间放1.

class Solution {
public:
	void sortColors(vector<int>& nums) {
		int i = -1;
		int j = nums.size();
		for (int k = 0; k < j; k++){
			if (nums[k] == 0){
				i++;
				swap(nums[i], nums[k]);
			}
			else if (nums[k] == 2){
				j--;
				swap(nums[j], nums[k]);
				k--;
			}
			else{
				//do nothing
			}
		}
	}
};

二刷:

思路同上

class Solution {
public:
	void sortColors(vector<int>& nums) {
		int i = -1, j = nums.size();
		int k = 0;
		while (k < j){
			switch (nums[k]){
			case 0:
				i++;
				swap(nums[i], nums[k]);
				break;
			case 1:
				break;
			case 2:
				j--;
				swap(nums[k], nums[j]);
				break;
			}
			k++;
		}
		return;
	}
};









版权声明:本文为博主原创文章,未经博主允许不得转载。

【LeetCode-面试算法经典-Java实现】【075-Sort Colors (颜色排序)】

【075-Sort Colors (颜色排序)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given an array with n objects colored ...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月30日 06:36
  • 2033

【排序】Sort Colors

排序 解法一:快排,递归实现 public class Solution { public void qsort(int [] num, int low, int high){ ...
  • wjz748305545
  • wjz748305545
  • 2014年03月21日 21:57
  • 357

Sort Colors 三色排序

Given an array with n objects colored red, white or blue, sort them so that objects of the same colo...
  • wang424313682
  • wang424313682
  • 2016年08月23日 13:22
  • 152

Sort Colors(荷兰旗问题)

75. Sort Colors My Submissions Question Editorial Solution Total Accepted: 94286 Total Submissio...
  • ouyangjinbin
  • ouyangjinbin
  • 2016年04月07日 09:19
  • 209

75. Sort Colors--荷兰三色国旗问题

Given an array with n objects colored red, white or blue, sort them so that objects of the same colo...
  • shanshanhi
  • shanshanhi
  • 2017年02月23日 18:55
  • 246

算法题——Sort Colors(JAVA)快排

题目描述: Given an array with n objects colored red, white or blue, sort them so that objects of the s...
  • ivyusing
  • ivyusing
  • 2017年04月14日 14:56
  • 116

OpenCV人脸检测

#include #include #include #include #include #include #include #include #include #include ...
  • hhhhhhj123
  • hhhhhhj123
  • 2015年10月17日 15:51
  • 349

和大神们学习每天一题(leetcode)-Sort Colors

Given an array with n objects colored red, white or blue, sort them so that objects of the same colo...
  • majunyangyang
  • majunyangyang
  • 2014年11月20日 10:34
  • 265

LeetCode | Sort Colors(荷兰国旗问题)

Given an array with n objects colored red, white or blue, sort them so that objects of the same colo...
  • a45872055555
  • a45872055555
  • 2014年08月12日 09:29
  • 986

LeetCode OJ算法题(七十五):Sort Colors

题目: Given an array with n objects colored red, white or blue, sort them so that objects of the ...
  • op_yu
  • op_yu
  • 2014年08月27日 13:56
  • 330
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:75. Sort Colors
举报原因:
原因补充:

(最多只允许输入30个字)