文档章节

LeetCode:Move Zeroes - 将数组中的0移到最后

北风其凉
 北风其凉
发布于 2015/09/20 09:04
字数 326
阅读 1825
收藏 0

1、题目名称

Move Zeroes(将数组中的0移到最后)

2、题目地址

https://leetcode.com/problems/move-zeroes

3、题目内容

英文:Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

中文:给出一个数字数组,写一个函数将数组中所有的0移动到非0项的后面

例如:给出数组 nums  = [0, 1, 0, 3, 12] ,调用完函数后,数组元素的顺序会变为 [1, 3, 12, 0, 0]。

注意:1)不能复制一个新数组;2)你需要最小化对数字的操作次数。

4、解题方法

完成本题需要下面两个步骤

1)将非0数字依次向前移动

2)将后面空出的部分全部补0

实现此方法的Java代码如下:

/**
 * 功能说明:LeetCode 283 - Move Zeros
 * 开发人员:Tsybius2014
 * 开发时间:2015年9月20日
 */
public class Solution {
    
    /**
     * 将数字0移动到最后
     * @param nums 输入数组
     */
    public void moveZeroes(int[] nums) {
        
        //将非0数字向前挪
        int cur = 0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] != 0) {
                nums[cur] = nums[i];
                cur++;
            }
        }

        //后面的元素全部补0
        for (int i = cur; i < nums.length; i++) {
            nums[i] = 0;
        }
    }
}

END

© 著作权归作者所有

北风其凉

北风其凉

粉丝 118
博文 498
码字总数 463468
作品 4
朝阳
程序员
私信 提问
283. Move Zeroes - LeetCode

Question 283. Move Zeroes Solution 题目大意:将0移到最后 思路: 1. 数组复制2. 不用数组复制 Java实现: 数组复制 不用数组复制

yysue
2018/08/05
0
0
Leetcode日记6

(2015/11/28) LeetCode 303 Range Sum Query - Immutable:(Easy) 1)超时的算法:每次调用sumRange函数进行一次累加运算。 2)不超时的算法:改变数组的内容,存储从0下标到当前下标所有...

fxdhdu
2015/11/28
73
0
Leetcode日记8

(2015/2/3) LeetCode 4 Median of Two Sorted Arrays 题目大意:找到两个已排序数组的median。 median:中间位置的值。 算法: 参考:https://leetcode.com/discuss/15790/share-my-o-log...

fxdhdu
2016/02/18
94
0
189. Rotate Array - LeetCode

Question 189. Rotate Array Solution 题目大意:数组中最后一个元素移到第一个,称动k次 思路:用笨方法,再复制一个数组 Java实现: 别人的实现:...

yysue
2018/08/09
0
0
设计实现一个LRU Cache

1 什么是LRU Cache 在LeetCode上有一个LRU Cache实现的题目 Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: g......

芥末无疆
2018/04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JWT学习总结

官方 https://jwt.io 英文原版 https://www.ietf.org/rfc/rfc7519.txt 或 https://tools.ietf.org/html/rfc7519 中文翻译 https://www.jianshu.com/p/10f5161dd9df 1. 概述 JSON Web Token(......

冷基
今天
3
0
AOP的学习(1)

AOP 理解AOP编程思想(面向方法、面向切面) spring AOP的概念 方面 -- 功能 目标 -- 原有方法 通知 -- 对原有方法增强的方法 连接点 -- 可以用来连接通知的地方(方法) 切入点 -- 将用来插入...

太猪-YJ
今天
4
0
一张图看懂亮度、明度、光度、光亮度、明亮度

亮度、明度、光亮度,Luminance和Brightness、lightness其实都是一个意思,只是起名字太难了。 提出一个颜色模型后,由于明度的取值与别人的不同,为了表示区别所以就另想一个词而已。 因此在...

linsk1998
昨天
8
0
Python应用:python链表示例

前言 python链表应用源码示例,需要用到python os模块方法、函数和类的应用。 首先,先简单的来了解下什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是...

python小白1
昨天
4
0
Source Insight加载源码

Source Insight是一个图形化的源代码查看工具(当然也可以作为编译工具)。如果一个项目的源代码较多,此工具可以很方便地查找到源代码自建的依赖关系。 1.创建工程 下图为Snort源代码的文件...

天王盖地虎626
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部