题目

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

示例:

输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明:

必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数

思路

暴力法使用两层for循环,模拟数组删除元素(向前覆盖)的过程

双指针法:使用双指针在数组中移除元素,可以达到O(n)的时间复杂度

相当于对整个数组移除元素0,然后slowIndex之后都是移除元素0的冗余元素,把这些元素都赋值为0即可

流程图如下:

java代码如下:

class Solution{public void moveZeroes(int[] nums){int slow = 0;//保证更新后的nums前面没有0元素for(int fast = 0; fast < nums.length; fast++){if(nums[fast] != 0){//如果当前元素不为0,则同时后移,如果是0则fast直接下一个,继续保证0元素被后面一个元素覆盖nums[slow++] = nums[fast];}}//最后将后面的元素全变成0for(int j = slow; j < nums.length; j++){nums[j] = 0;}}
}

代码随想录——移动零相关推荐

  1. 代码随想录35——贪心:860柠檬水找零、406根据身高重建队列、452用最少数量的箭引爆气球

    文章目录 1.860柠檬水找零 1.1.题目 1.2.解答 2.406根据身高重建队列 2.1.题目 2.2.解答 3.452用最少数量的箭引爆气球 3.1.题目 3.2.解答 1.860柠檬水找零 ...

  2. 代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

    代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球 860.柠檬水找零 406. 根据身高重建队列 452. 用最少数量的箭引爆气球 860. ...

  3. 【代码随想录】数组刷题

    数组刷题 二分 二分查找* 搜索插入位置 在排序数组中查找元素的第一个和最后一个位置* x 的平方根 有效的完全平方数 双指针 移除元素 删除排序数组中的重复项 移动零 比较含退格的字符串 有序数组的 ...

  4. 【代码随想录】-动态规划专题

    文章目录 理论基础 斐波拉契数列 爬楼梯 使用最小花费爬楼梯 不同路径 不同路径 II 整数拆分 不同的二叉搜索树 背包问题--理论基础 01背包 二维dp数组01背包 一维数组(滚动数组) 装满背包 ...

  5. 代码随想录训练营day43

    目录 题目一:最后一块石头的重量|| 题目二:目标和 题目三:一和零 题目一:最后一块石头的重量|| 力扣题目链接 题目描述: 有一堆石头,用整数数组 stones 表示.其中 stones[i] 表 ...

  6. 代码随想录训练营day35

    目录 题目一:柠檬水找零 解法: 题目二:根据身高重建队列 解法一:从小到大 解法二: 从大到小 题目三:用最少数量的箭引爆气球 解法: 题目一:柠檬水找零 力扣题目链接 题目描述: 在柠檬水摊上,每 ...

  7. 《代码随想录》三刷,与诸君共勉,秋招见!

    我一直都是建议大家尽量把<代码随想录> 至少刷两遍,刷三遍是更好的. 这样才能对 里面涉及的到算法知识融会贯通. 刷题是在不断挑战自己的过程,经常会自我怀疑: 这么简单题,我怎么想不出来? ...

  8. 【代码随想录】二刷-动态规划

    动态规划 代码随想录 解题步骤: 确定dp数组 确定递推公式--递推公式决定dp数组要如何初始化 dp数组如何初始化 确定遍历顺序 举例推导dp数组 509. 斐波那契数 class Solution ...

  9. 【代码随想录】二刷-数组

    数组 <代码随想录> 二分查找 704. 二分查找 方法1 注意: 边界控制. 前提是有序数组. 循环控制 解释: 这里使用我最好理解的一种方式. 使用mid控制下标访问,nums[mid ...

最新文章

  1. mysql从另一张获取数据的方法
  2. TensorFlow 2.0开发者预览版发布
  3. python列表取出元素_python中的列表,添加元素,获取元素,删除元素,列表分片,常用操作符...
  4. 计算机网络实验一:ping、ipconfig、netstat、tracert、arp命令
  5. postgreSQL入门01-安装
  6. K8S的SDN容器网络解决方案【机制篇】
  7. 学术科普 | 漫威电影中的智能大脑
  8. 美妆海报不会做? PSD分层模板带你轻松掌握!
  9. 无法使用带括号的初始值设定项初始化数组_leetcode32. 最长有效括号
  10. Android 相关翻译
  11. 破解Quartus II 8.0
  12. USB_CAN-2A使用CANTest解析J1939
  13. 信息安全管理体系--文件的等级划分
  14. 怎样压缩ppt的大小?
  15. vue项目安装vuex报错:Object(...) is not a function“
  16. 【现代信号处理】 15 - 谱分析基础和周期图谱分析
  17. HTML期末作业-我的大学宿舍
  18. win7安不了python_win7下安装python失败问题
  19. Vue3中关于getCurrentInstance的大坑
  20. 可视化设计-设备篇(LED屏幕)

热门文章

  1. 2019智能手表推荐_2019年,这4款智能手表已经秒杀Apple Watch!
  2. Mycat分库分表详细操作
  3. 蓝色版PTCMS仿蜻蜓听书小说站源码+带采集规则/安装教程
  4. 人工智能往哪个方向发展有前途?计算机视觉还是自然语言处理?
  5. STM32WL开发之LM401评估板开箱及PingPong测试
  6. C# ushort强制转换int会导致丢失
  7. 如何下载Onon Office
  8. 免费的多平台使用的桌面日程安排软件?
  9. 快递API接口帮助文档-接入技术问题FAQ-全国主流快递
  10. ext iconCls