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.
public class Solution { public void sortColors(int[] nums) { if (nums == null || nums.length < 2) { return; } int left = -1; int index = 0; int right = nums.length; while (index < right) { if (nums[index] == 0) { swap(nums, ++left, index++); } else if (nums[index] == 2) { swap(nums, index, --right); } else { index++; } } } private void swap(int[] nums, int i, int j) { // TODO Auto-generated method stub int tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp; } }
相关推荐
var sc = new SortColors ( colors ) ; sc . shuffle ( ) ; var list = sc . get ( ) ; 支持的格式: 十六进制 RGB(即将推出) HSV(很快) HSL(很快) 可用方法: add(color) - 为集合添加颜色 set(colors) -...
这段代码中,`sortColors`函数使用了双指针技巧,`left`指向已排序区域的末尾,`right`指向未排序区域的开头,`mid`遍历整个数组。遇到0时,交换`left`和`mid`指向的元素;遇到2时,将2与`right`指向的元素交换,...
python python_leetcode题解之075_Sort_Colors
一、排序算法 1.1 快速排序 快速排序是一种高效的排序算法,其平均时间... Sort Colors 题目要求将包含0、1、2的数组排序,使用快速排序算法来解决此问题。 面试题 2:最长递增子序列 问题:给定一个未排序的整数
def sortColors(nums): left, right = 0, len(nums) - 1 while left if nums[left] == 0: left += 1 elif nums[left] == 2: nums[left], nums[right] = nums[right], nums[left] right -= 1 else: left +=...
素描插件排序背景颜色只是一个简单的插件,可通过其背景色相值对所选画板(或所...background-colors.sketchplugin文件以安装插件完成了 :party_popper: 您可以在“ Plugins > Sort Colors > Sort by Hue下找到该插件。
javascript js_leetcode题解之75-sort-colors.js
c c语言_leetcode题解之0075_sort_colors.zip
c语言入门 C语言_leetcode题解之75-sort-colors.c
public void sortColors(int[] nums) { int left = 0, right = nums.length - 1; while (left ) { while (left [left] == 0) { // 遇到红色球,向右移动 left++; } while (left [right] == 2) { // 遇到蓝色...
6. **Sort Colors**:将一个包含0、1和2的数组原地排序。可以采用双指针策略,让较小的元素向左移动。 7. **Sort List**:对链表进行排序。可以先将链表转换为数组,然后使用快速排序或归并排序,最后将排序后的...
| _O(n)_ ~ _O(n^2)_ | _O(n)_ | Medium || Bit Manipulation, Counting Sort, Pruning| 342 | [Power of Four](https://leetcode.com/problems/power-of-four/) | [C++](./C++/power-of-four.cpp) [Python](./...
Sort Colors **知识点:** - **问题描述:** - 给定一个只包含 `0`, `1`, `2` 的数组,将其按升序排序。 - **解决方案分析:** - **三指针:** - 定义三个指针 `low`, `mid`, `high`。 - `low` 和 `mid` ...
- Sort Colors: 给定一个包含红色、白色和蓝色,一共n个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 - Combinations: 从n个不同元素中取出k个元素的组合。 - ...
leetcode中国 每周小测 每周题目 week 1 adjust : 将数组中指定索引处的值替换为经函数变换的值 实现版本: ramda版本参考: groupAnagrams ...给定一个字符串数组,将字母异位词组合在一起。...sortColors
示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]算法1:由于元素是固定的,可以采用计数的方法def sortColors(self,
Colors Leetcode 215. Kth Largest Element Leetcode 4. Median of Two Sorted Arrays 注意:后两题是与快速排序非常相似的快速选择(Quick Select)算法,面试中很常考 链表类(Linked List): 基础知识:链表如何...