文档章节

75. Sort Colors - LeetCode

yysue
 yysue
发布于 2018/08/25 20:59
字数 235
阅读 24
收藏 1

Question

75. Sort Colors

Solution

题目大意:

给一个数组排序,这个数组只有0,1,2三个元素,要求只遍历一遍

思路:

记两个索引,lowIdx初始值为0,highIdx初始值为nums.length - 1,遍历数组,如果是2就与highIdx处元素互换且highIdx—,如果是0就与lowIdx处元素互换且lowIdx++,i++,还剩一种情况就是1了,执行i++,循环结束条件是i<=highIdx

Java实现:

public void sortColors(int[] nums) {
    int lowIdx = 0;
    int highIdx = nums.length - 1;
    int i = 0;
    while (i <= highIdx) {
        if (nums[i] == 2) {
            int tmp = nums[highIdx];
            nums[highIdx--] = nums[i];
            nums[i] = tmp;
        } else if (nums[i] == 0) {
            int tmp = nums[lowIdx];
            nums[lowIdx++] = nums[i];
            nums[i++] = tmp;
        } else {
            i++;
        }
    }
}

© 著作权归作者所有

yysue
粉丝 28
博文 273
码字总数 157985
作品 0
济南
程序员
私信 提问
Leetcode 75. Sort Colors

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution Two-pass One-pass, no swap One-pass, swap Reference https://leetcode.com/problems/sort-colors/descrip......

SnailTyan
2018/08/16
0
0
Leetcode 75. 颜色分类

题目链接 https://leetcode-cn.com/problems/sort-colors/description/ 题目描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照...

xgnming
2018/09/06
0
0
LeetCode 分类刷题 —— Sort

Sort 的 Tips: 深刻的理解多路快排。第 75 题。 链表的排序,插入排序(第 147 题)和归并排序(第 148 题) 桶排序和基数排序。第 164 题。 "摆动排序"。第 324 题。 两两不相邻的排序。第 767 ...

一缕殇流化隐半边冰霜
07/06
0
0
LeetCode 75. Sort Colors (颜色排序)

原题 Given an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white and blu......

dby_freedom
2018/11/27
0
0
LeetCode:Sort Colors - 对颜色排序(荷兰国旗问题)

1、题目名称 Sort Colors(对颜色排序) 2、题目地址 https://leetcode.com/problems/sort-colors/ 3、题目内容 英文: Given an array with n objects colored red, white or blue, sort t......

北风其凉
2016/04/17
520
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈Visitor访问者模式

一、前言 什么叫访问,如果大家学过数据结构,对于这点就很清晰了,遍历就是访问的一般形式,单独读取一个元素进行相应的处理也叫作访问,读取到想要查看的内容+对其进行处理就叫作访问,那么...

青衣霓裳
22分钟前
5
0
JS内嵌多个页面,页面之间如何更快捷的查找相关联的页面

假设parent为P页面, P页面有两个子页面,分别为B页面和C页面; B页面和C页面分别内嵌一个iframe,分别为:D页面和E页面 现在通过B页面的内嵌页面D的方法refreshEpage(eUrl)来加载内嵌页面E的内容...

文文1
23分钟前
6
0
Hibernate 5 升级后 getProperties 错误

升级到 Hibernate 5 后,提示有错误: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map; 完整的错误栈为: java.lang.NoSuchMethodError: org.hibernate......

honeymoose
24分钟前
4
0
mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
27分钟前
6
0
Spring中BeanFactory与FactoryBean的区别

在Spring中有BeanFactory和FactoryBean这2个接口,从名字来看很相似,比较容易搞混。 一、BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定...

大王叫下
29分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部