算法:1.移动零

双指针

283. 移动零 - 力扣(LeetCode)

解法思路:,设计cur和dest两个指针。使用cur扫描整个数组,将数组划分为三个区域,0,dest为非零区,dest+1,cur为零区,cur,n-1为待处理区。

从第一次判断处理或不处理到最后完成0与非0值的分区都满足解法思路。

代码展示:

java 复制代码
public void moveZeroes(int[] nums){
        int cur = 0;
        int dest = -1;
        while(cur<nums.length){
            if(nums[cur]!=0){
                int tmp = nums[dest+1];
                nums[dest+1]=nums[cur];
                nums[cur]=tmp;
                cur++;
                dest++;
            }else{
                cur++;
            }
        }
    }
相关推荐
不正经学生37 分钟前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
毕竟是shy哥3 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习
M78佐菲3 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
学长毕业设计3 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西4 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西4 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午4 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065254 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
小范同学_4 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
晊晌_h5 小时前
嵌入式从0到精通——数据结构总结[特殊字符]
数据结构·算法·排序算法