283. 移动零 快慢指针击败双百

283. 移动零

已解答

简单

相关标签

相关企业

提示

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

复制代码
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

复制代码
输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

**进阶:**你能尽量减少完成的操作次数吗?

快慢指针

30min

java 复制代码
    public void moveZeroes(int[] nums) {
    int slowPoint = 0; // 慢指针,指向非零元素的位置
    // 遍历数组
    for (int fastPoint = 0; fastPoint < nums.length; fastPoint++) {
        if (nums[fastPoint] != 0) {
            // 交换慢指针和快指针的位置
            nums[slowPoint] = nums[fastPoint];
            slowPoint++;
        }
    }
    
    // 将剩余的位置填充为0
    for (int i = slowPoint; i < nums.length; i++) {
        nums[i] = 0;
    }
}
相关推荐
Mr_pyx11 分钟前
【LeetHOT100】合并两个有序链表——Java多解法详解
算法
yu859395823 分钟前
利用MATLAB进行木材图像去噪
开发语言·算法·matlab
cpp_250137 分钟前
P2722 [USACO3.1] 总分 Score Inflation
数据结构·c++·算法·动态规划·题解·洛谷·背包dp
民乐团扒谱机39 分钟前
【源码剖析】MATLAB混响函数底层逻辑拆解:Dattorro算法从公式到音频帧的完整推导
算法
淡海水40 分钟前
【AI模型】概念-Token
人工智能·算法
凯瑟琳.奥古斯特1 小时前
数据结构核心知识点精要
数据结构·算法·排序算法
隔壁大炮1 小时前
Day02-04.张量点乘和矩阵乘法
人工智能·pytorch·深度学习·线性代数·算法·矩阵
王老师青少年编程1 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【删数问题】:删数问题
c++·算法·贪心·csp·信奥赛
geneculture1 小时前
本真信息观:基于序位守恒的融智学理论框架——人类认知第二次大飞跃的基础
人工智能·算法·机器学习·数据挖掘·融智学的重要应用·哲学与科学统一性·融智时代(杂志)
kronos.荒1 小时前
动态规划——最长递增子序列系列问题(python)
算法·动态规划·最长递增子序列系列问题