当前位置: 首页 > article >正文

【java】实战-力扣题库:移动零

问题描述

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

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


问题分析

定义快慢双指针,一个指针遍历,一个指针指着为 0 的数据。

因为确定把 数据 0 移动到数组末尾,可以设一个 计数器(慢指针实现),统计遍历过程中0的数量。

把非零的移动到慢指针指向的区域。

最后,快指针遍历完,从慢指针开始填充0.


代码实现

class Solution {
    public void moveZeroes(int[] nums) {
        int i=0;
        int j=0;
        for(;i<nums.length;i++){
            if(nums[i]!=0){
                nums[j]=nums[i];
                j++;
            }
        }
        for(i=j;i<nums.length;i++){
            nums[i]=0;
        }
    }
}


http://www.kler.cn/a/386002.html

相关文章:

  • [Codesys]常用功能块应用分享-BMOV功能块功能介绍及其使用实例说明
  • Linux下编译安装Nginx
  • 数据结构-二叉树及其遍历
  • CSS回顾-基础知识详解
  • 基于Spring Boot的电子商务系统设计
  • JS 数组排序
  • Dubbo框架浅谈
  • 数字IC后端设计实现之Innovus自动修复Min Step DRC Violation方案
  • Agent指令编排
  • 双指针算法的妙用:提高代码效率的秘密(1)
  • ip地址跟路由器有关吗?更换路由器ip地址会变吗
  • iMeta | 复杂热图(ComplexHeatmap)可视化文章最新版,画热图就引它
  • 如何保证kafka生产者数据可靠性
  • Git别名设置
  • 【51单片机】LED点阵屏 原理 + 使用
  • 【数据分享】1901-2023年我国省市县镇四级的逐年降水数据(免费获取/Shp/Excel格式)
  • entos7离线安装xrdp和图形化桌面
  • 改进系列(3):基于ResNet网络与CBAM模块融合实现的生活垃圾分类
  • 【数字图像处理+MATLAB】解决 imshow 函数图像显示亮度异常问题:自动调整亮度范围使图像能正确显示
  • Python中的数据类(dataclass):简化类的定义与数据管理的全面指南
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(2)
  • 订单日记助力“实峰科技”提升业务效率
  • 米家通过HomeAssistant控制笔记本电脑开关机
  • TVM计算图分割--分割方式
  • QT Widget:使用技巧
  • CSS3中的2D变换(位移、缩放、旋转、扭曲、多重变换、变换原点)