算法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
相关推荐
不会就选b1 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
千里码aicood4 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
做cv的小昊5 小时前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型
لا معنى له5 小时前
World-In-World: World Models in a Closed-Loop World
算法
Discipline10297 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder8 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法
小羊没烦恼!8 小时前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#
weixin_307779138 小时前
基于睿擎工业开发平台的预训练视觉模型轻量化适配与低代码部署优化
开发语言·算法
hold?fish:palm9 小时前
45 二叉树的右视图
开发语言·c++·算法