【LeetCode】Sort Colors 数组排序
2017-07-28 13:53
405 查看
题目:Sort color
<span style="font-size:18px;">/*LeetCode sort colors 题目:输入一个数组。包括0,1,2分别代表红白蓝三种颜色,要求依照0,1,2的顺序,将同类颜色的连续排列 思路:计数排序,是一个遍历两遍的方法:能够先统计每种的数量,之后直接将这一范围内的全部值都赋值为对应的数字就可以 遍历一遍的话能够在遍历的同一时候分别与0和2比較,从头和尾一起交换。1的在中间不用做处理; * */ package javaTrain; public class Train13 { public void sortColors(int[] A) { int n = A.length; int red = 0,blue = n-1; for(int i=0;i < blue+1;){ //由于会从后向前推进所以以blue表示尾部,确保仅仅用遍历一遍 int temp = A[i]; if(temp == 0){ A[i++] = A[red]; //由于red在前。所以交换时它指向的仅仅能是0或1。所以交换后的位置能够向前移 A[red++] = temp; } else if(temp == 2){ A[i] = A[blue]; //而blue在后。它指向的之前并没有被比較过有可能有0,1,2所以交换的点不能向前移 A[blue--] = temp; } } } } </span>
相关文章推荐
- [LeetCode] Sort Colors 对于元素取值有限的数组,只遍历一遍的排序方法
- 【LeetCode】Sort Colors 数组排序
- [LeetCode] Sort Transformed Array 变换数组排序
- LeetCode-Sort Colors-排序
- Leetcode刷题记——75. Sort Colors(颜色排序)
- [LeetCode] Sort Colors 颜色排序
- 【leetcode 数组】Sort Colors
- [leetcode 75] Sort Colors-----------只有三种颜色的排序
- [LeetCode] Sort Colors 颜色排序
- leetcode:sort colors排序颜色
- LeetCode 75 Sort Colors(颜色排序)
- 75. Sort Colors--数组排序
- leetCode 75.Sort Colors (颜色排序) 解题思路和方法
- LeetCode 75. Sort Colors(颜色排序)
- Sort Colors [leetcode] 扫描数组一遍,O(1)空间复杂度的解法
- [LeetCode] Sort Colors 只有3个类型的排序
- [leetcode] 【排序】 75. Sort Colors
- leetcode 75. Sort Colors-颜色排序|双指针
- [LeetCode] 360. Sort Transformed Array 排序转换后的数组
- LeetCode 75. Sort Colors(三颜色排序→K颜色排序)