博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-Move Zeroes
阅读量:6443 次
发布时间:2019-06-23

本文共 624 字,大约阅读时间需要 2 分钟。

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.For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].Note:You must do this in-place without making a copy of the array.Minimize the total number of operations.

题目可以在O(n)时间复杂度内求解

算法步骤:

使用两个"指针"x和y,初始令y = 0

利用x遍历数组nums:

若nums[x]非0,则交换nums[x]与nums[y],并令y+1

 

public class Solution {    public void moveZeroes(int[] nums) {        int fast=0;        int slow=0;        while(fast

  

转载于:https://www.cnblogs.com/incrediblechangshuo/p/5668866.html

你可能感兴趣的文章
pandas
查看>>
脚本编写练习题
查看>>
使用Open***
查看>>
Android基于Cling开发DLNA应用
查看>>
Android 录音实现
查看>>
DHCP过程的抓包分析
查看>>
“练好内功坚持被集成”,阿里云发布SaaS加速器
查看>>
CentOS 7切换到root用户-bash-4.3#问题及解决办法!
查看>>
学习cisco和oracle的道路
查看>>
SQL转换为日期的做法
查看>>
Oracle数据库在线重做日志被删除的几种恢复方法
查看>>
主要技术DAS、SAN、NAS
查看>>
exchange 2010 系统补丁
查看>>
mysql主从
查看>>
安装python模块paramkio报错 error: command 'gcc' failed with exit status 1
查看>>
1.1Python快速入门
查看>>
HTML5 canvas 标签介绍:定义图形
查看>>
界面编程-2
查看>>
Android系统的开机画面显示过程分析(1)
查看>>
scanf和缓冲区的一切
查看>>