力扣283:移动零(JAVA)

题目描述:

意思是将所有0移到最后的同时其余非0元素位置仍然不变

如 1 2 0 5 2 0 经过移动零后变为 1 2 5 2 0 0

思路:使用双指针的思路来写

fast:从左往右遍历数组

slow:非零元素最后的一个位置

将数组分为3个区间

0,slow\]为处理好的非0数据,slow永远指向最后一个非0数据 \[slow+1,fast\]处理好的为0的数据 \[fast+t,arr.length-1\]为待处理的数据 ![](https://file.jishuzhan.net/article/1728280083463933953/bd63bf8a6be7b8446c8e1ed50e11576e.webp) 做法: 1.fast遇到0元素:fast++ 2.fast遇到非0元素:slow++,然后交换数据,最后fast++ ```java public void moveZeroes(int[] nums) { int fast = 0; int slow = -1; for(fast = 0; fast < nums.length; fast++){ if(nums[fast] != 0){ slow++; // 交换数据 int tmp = nums[slow]; nums[slow] = nums[fast]; nums[fast] = tmp; } } } ```

相关推荐
Tisfy几秒前
LeetCode 960.删列造序 III:动态规划(最长递增子序列)
算法·leetcode·动态规划·字符串·题解·逆向思维
多米Domi0112 分钟前
0x3f第十天复习(考研日2)(9.18-12.30,14.00-15.00)
python·算法·leetcode
listhi5206 分钟前
支持向量机多分类解决方案
算法·支持向量机·分类
十三画者8 分钟前
【文献分享】vConTACT3机器学习能够实现可扩展且系统的病毒分类体系的构建
人工智能·算法·机器学习·数据挖掘·数据分析
TrueFurina(互关互赞)20 分钟前
7-4 区间水仙花数 Python程序设计-MJU实验四(编程入门•多代码实现•测试均通过)
数据结构·算法·飞书·创业创新·学习方法·远程工作·改行学it
Amnesia0_021 分钟前
Map和Set
算法
受伤的僵尸22 分钟前
算法类复习(1)-非自注意力机制(图像处理中的注意力)
人工智能·算法
_w_z_j_25 分钟前
最小高度树
算法
2301_7890156229 分钟前
每日精讲:环形链表、两个数组中的交集、随机链表的复制
c语言·数据结构·c++·算法·leetcode·链表·排序算法
CodeByV32 分钟前
【算法题】滑动窗口 (二)
算法