leetcode283-Move Zeroes

这道题目要求把所有的0元素都放到数组末尾,并且不能改变数组其它元素的相对数序,类似这种题目思维一定要往快慢指针上靠,快指针从头到尾遍历,快指针永远去找非0元素,慢指针则从头开始遍历,找到以后交换俩个元素的位置,然后俩个指针分别往前走一步。注意这里如果慢指针的策略是永远去找0元素的话,那么就会涉及到一些和快指针的比较,只有在慢指针比快指针小的时候所指向的元素才可以交换,cpu时间会更高一点

java 复制代码
public class moveZeroes {
	public static void main(String[] args) {
		int[] arr = {0,1,0,3,12};
		moveZero(arr);
		for(int i = 0;i<arr.length;i++) {
			System.out.println(arr[i]);
		}
	}
	public static void moveZero(int[] arr) {
		for(int i = 0,j=0;i<arr.length;i++) {
			if(arr[i] != 0) {
				int tmp = arr[i];
				arr[i] = arr[j];
				arr[j] = tmp;
				j++;
			}
		}
	}
}
相关推荐
右耳朵猫AI10 分钟前
Java & JVM技术周刊 2026年第19周
java·开发语言·jvm
1candobetter12 分钟前
单接口性能测试实践总结:压测方案设计、成功判定与 JVM 监控分析
java·jvm·压力测试·测试
han_hanker12 分钟前
Java 对象序列化
java·开发语言
通信小呆呆13 分钟前
Hankel结构及其快速算法详解
线性代数·算法·机器学习
四代水门13 分钟前
服务端倒带(Server-Side Rewind)命中判定系统
java·前端·算法
莫寒清14 分钟前
@AliasFor 注解
java·spring
飞翔中文网14 分钟前
Java学习笔记之接口
java·笔记·学习
MaCa .BaKa15 分钟前
56-非遗手工艺品定制平台系统
java·vue.js·spring boot·mysql·maven·非遗手工制作平台系统·非遗制作
吃好睡好便好15 分钟前
矩阵的左除和右除
人工智能·学习·线性代数·算法·矩阵
lili001216 分钟前
AI编程三件套CI集成与质量门禁:从“看起来对“到“证据确凿“
java·人工智能·python·ci/cd·ai编程