首页 > 其他分享 >283. 移动零

283. 移动零

时间:2022-10-14 11:27:18浏览次数:39  
标签:slow nums 元素 fast 目标 283 移动

题目描述

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

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

思路解析

同样的可以之前的双指针法

参考代码

var moveZeroes = function(nums) {

   let end= removeElement(nums,0)
    for(let i = end;i<nums.length;i++) {
        nums[i]=0
    }
    return nums
};
function removeElement(nums,key) {
    let fast=slow=0
    while(fast<nums.length) {
        if(nums[fast]!==key) {
            nums[slow++] = nums[fast]
        }    
       fast++
    }
    return slow
}

之前对指针移动有疑惑,后来想通了,自己多画图理解一下。刚开始画图的时候,总是想不通。
就比如说将数组中目标元素移除,那么两个指针一开始都会指向第一个元素,如果第一个元素不是目标指针,那么> 就将nums[fast]赋值给nums[slow],当时只想着 fast移动,也就是当时把两种情况(第一个元素是目标元素,> > 第一个元素不是目标元素)都想成fast++,也就是fast一直先比slow移动,在它前面,可是按照这种思路,如果> > 第一个元素不是目标元素,那么后续再次赋值时就会将第一个元素替换掉。当时就是陷入了这个误区,还怀疑是代> 码的问题,或者说是作者(labuladong)的问题,后来想通了,原来是自己跳了一步。
当移除目标元素时,如果第一个不是目标元素,那么经过if判断,slow会向前移动,if完毕后fast也会向前移> > 动,此时 fast和slow同时指向第二个元素。如果第一元素是目标元素,那么就fast跳过,slow继续不变。

标签:slow,nums,元素,fast,目标,283,移动
From: https://www.cnblogs.com/zx529/p/16791017.html

相关文章

  • 移动/home 分区到其它分区
    今天想装个双系统,可是剩余分区大小又不够,所以只有移动一下home位置,留出更大一块分区空间。还是这个方法有效简单。逐步移动分区的操作方式在这个新的技巧集中,DanielRobbin......
  • Spark任务写数据到s3,默认单线程移动数据,执行时间很长
     一、场景目前使用s3替代hdfs作为hive表数据存储,使用sparksqlinsert数据到hive表,发现一个简单的查询+插入任务,查询+insert的动作显示已经执行完,任务还在跑,直到......
  • 数字政务发展得如何?来看看2022年各地移动政务服务新变化
    2021年11月,国务院办公厅印发《全国一体化政务服务平台移动端建设指南》(以下简称《建设指南》),就进一步加强政务服务平台移动端标准化、规范化建设和互联互通,创新服务方式、增......
  • CSS笔记 - 14 移动端适配
    14.移动端适配14.1vw适配移动端开发中,由于不同设备视口和像素比不同,所以不能单纯使用px作为单位,需要使用vw做适配vw表示的是视口的宽度,1vw=1%视口宽度。假设设计......
  • CSS3 -2D转换之translate (移动:translate、旋转:rotate、缩放:scale)
    CSS3-2D转换之translate转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果,可以简单理解为变形移动:translate旋转:rotate缩放:scale1......
  • 移动通信原理(原书第3版)
    美国乔治亚理工学院著名移动通信专家斯图伯尔(Stüber)教授的一部力作。★本书是美国乔治亚理工学院著名移动通信专家斯图伯尔(GordonL.Stüber)教授的一部力作,数十年来,本书一......
  • 自动驾驶、移动机器人学习资料:定位建图、环境感知、求职
    1).机器人的带约束轨迹规划杨硕卡内基梅隆大学博士原大疆创新工程师研究方向为高自由度机器人的运动轨迹规划2).ORB-SLAM3原理与代码解析刘国庆上交感知与导航研究所科研助......
  • Deviceone:站在移动互联时代的十字路口上
    最近总能看到类似“App已死,服务永生”、“App必死,web永生”、“App已死,微信建站已生”这样的文章。不晓得这些网络写手到底是想代表某些公司的立场、还是想要表达怎么样的......
  • SK海力士量产业界最高容量的LPDDR5移动端DRAM
    分享,让知识变得更简单看海的文章欢迎转发支持首尔,2021年3月8日SK海力士宣布开始量产业界最高容量的18GBLPDDR5移动端DRAM产品。DRAM是动态随机处理器,在手机中承担着计算的......
  • 微动门店移动端
    微动门店移动端api线上:henm.cn测试:v2.henm.cn技术栈uniapp(基于vue2)、uview、uni-ui、echarts项目组成new-inching---moving-end为目前使用的项目,首页tabbar正在......