数组移动零

简介: 数组移动零

数组移动零

题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例2:

输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

思路

  • 我们创建两个指针i和j,第一次遍历的时候指针j用来记录当前有多少非0元素。即遍历的时候每遇到一个非0元素就将其往数组左边挪,第一次遍历完后,j指针的下标就指向了最后一个非0元素下标。
    第二次遍历的时候,起始位置就从j开始到结束,将剩下的这段区域内的元素全部置为0。
class Solution {
    public void moveZeroes(int[] nums) {
        if(nums==null) {
            return;
        }
        //第一次遍历的时候,j指针记录非0的个数,只要是非0的统统都赋给nums[j]
        int j = 0;
        for(int i=0;i<nums.length;++i) {
            if(nums[i]!=0) {
                nums[j++] = nums[i];
            }
        }
        //非0元素统计完了,剩下的都是0了
        //所以第二次遍历把末尾的元素都赋为0即可
        for(int i=j;i<nums.length;++i) {
            nums[i] = 0;
        }
    }
}    
相关文章
|
缓存 安全 Java
「新特性」Spring Boot 全局懒加载机制了解一下
在 Spring 中,默认情况下所有定的 bean 及其依赖项目都是在应用启动时创建容器上下文是被初始化的
6613 0
|
NoSQL 算法 数据管理
【Redis】Redis配置参数详解:优化过期删除机制
【Redis】Redis配置参数详解:优化过期删除机制
627 0
|
存储 监控 关系型数据库
|
SQL 运维 NoSQL
【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(一)
在学习完 若依环境搭建 和 若依二次开发案例 后,我们将基于若依脚手架完成一个关于智能货柜的项目实战——帝可得!帝可得是一个基于物联网概念下的智能售货机运营管理系统。本文将带领大家使用若依框架从0到1进行项目开发与测试。
4229 1
【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(一)
|
物联网
zigbee DL-20无线串口收发模块使用(双车通讯,电赛模块推荐)
zigbee DL-20无线串口收发模块使用(双车通讯,电赛模块推荐)
1249 0
|
5G 异构计算
图解5G NR帧结构
与LTE(子载波间隔和符号长度)相比, NR支持多种子载波间隔(在LTE中,只有15 Khz这种子载波间隔)。在3GPP38.211中,有关于NR子载波间隔类型的总结。
7778 0
|
存储 JSON 算法
升级JSONB列式存储,Hologres助力淘宝搜索2022双11降本增效
升级JSONB列式存储,Hologres助力淘宝搜索2022双11降本增效。
1945 2
升级JSONB列式存储,Hologres助力淘宝搜索2022双11降本增效
|
网络协议 测试技术 应用服务中间件
使用SSH代理在本地开发环境调试各种回调
使用SSH代理在本地开发环境调试各种回调 前言背景 相信大家在支付宝、微信、钉钉等各种小程序或支付对接的开发中,经常会遇到服务端回调的问题,至少要求接收回调请求的服务器有公网IP,以便能收到请求,微信的开发甚至要求回调接口必须是https,而本地开发环境往往都是内网环境,甚至连固定ip都没有,难道每次测试回调内容只能发布到测试环境中去测试,有没有简单的方法呢? 当然有!答案就是使用SSH代理(或其他类似的proxy代理)。
3691 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
智启未来:AI 科技的发展、应用与时代变革
人工智能(Artificial Intelligence,简称 AI),作为计算机科学的核心分支,是一门旨在使机器模拟、延伸和扩展人类智能的技术科学。它让机器具备感知、推理、学习、决策等类人能力,打破了 “机器仅能执行固定指令” 的传统认知,成为推动新一轮科技革命和产业变革的核心驱动力。
1871 1