算法1.0

283. 移动零 - 力扣(LeetCode)

双指针

1.0 双指针的作用

cur:从左到右遍历数组 dest:已处理的区间内,非零元素的最后一个位置

cur把数组划分为两部分 未扫描和已扫描 dest把处理过的数组划分为两个部分

cur和dest把整个数组划分为3个区间:

双指针是快排里面最核心的一步 其实就是数据划分这一步

下面是效果图和代码:

复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        for(int cur = 0, dest = -1;cur<nums.length;cur++){
            if(nums[cur] != 0){
                dest++;
                int tmp = nums[cur];
                nums[cur]=nums[dest];
                nums[dest]=tmp;
            }
        }        
    }
}
//xiyu250928#1*1
相关推荐
普贤莲花6 分钟前
【2026年第18周---写于20260501】---舍得
程序人生·算法·leetcode
2zcode6 分钟前
基于深度学习的口腔疾病图像识别系统(UI界面+改进算法+数据集+训练代码)
人工智能·深度学习·算法
Sarvartha16 分钟前
N 个字符串最长公共子序列(LCS)求解问题
数据结构·算法
一切皆是因缘际会16 分钟前
下一代 AI 架构:基于记忆演化与单向投影的安全智能系统
大数据·人工智能·深度学习·算法·安全·架构
falldeep22 分钟前
五分钟了解OpenClaw底层架构
人工智能·算法·机器学习·架构
m0_6294947322 分钟前
LeetCode 热题 100-----16.除了自身以外数组的乘积
数据结构·算法·leetcode
weixin_4462608528 分钟前
模型能力深度对决:GPT-4o、Claude 3.5和DeepSeek V系列模型的横向评测与未来趋势洞察
人工智能·算法·机器学习
想唱rap1 小时前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
重生之我是Java开发战士1 小时前
【笔试强训】Week3:重排字符串,分组,DNA序列
算法
We་ct1 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·leetcode·typescript·动态规划