LeetCode-移动零(283)

题目描述:

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

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

思路: 这里的思路跟以前做过的去重复数字的思路有点像,快指针也就是for循环中的i遍历元素,慢指针也就是count指向存储元素得到位置,当然只有当遍历的数字不是0的时候才会存储该数字至count指向的位置,并且count+1。完成存储的for循环之后,就要把忽略掉的0给添加都末尾,这一步操作就简单了,具体看代码。
代码:

java 复制代码
class Solution {
    public void moveZeroes(int[] nums) {
        int count=0;
        for(int i=0;i<nums.length;i++) {
            if(nums[i]!=0) {
                nums[count]=nums[i];
                count++;
            }
            
        }
        
        for(int i=count;i<nums.length;i++) {
            nums[i]=0;
        }
        
        
    }
}
相关推荐
飞Link13 分钟前
【Water】数据增强中的数据标注、数据重构和协同标注
算法·重构·数据挖掘
漫随流水22 分钟前
leetcode算法(559.N叉树的最大深度)
数据结构·算法·leetcode·二叉树
池塘的蜗牛23 分钟前
NR PDSCH和CSI 正交导频设计
算法
CoovallyAIHub1 小时前
仅192万参数的目标检测模型,Micro-YOLO如何做到目标检测精度与效率兼得
深度学习·算法·计算机视觉
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章10-中值滤波
图像处理·人工智能·opencv·算法·计算机视觉
爱编程的小吴1 小时前
【力扣练习题】151. 反转字符串中的单词
java·算法·leetcode
3***g2051 小时前
MATLAB高效算法设计原则利用MATLAB内置函数
开发语言·算法·matlab
雍凉明月夜1 小时前
深度学习之目标检测yolo算法Ⅰ(v1-v3)
深度学习·算法·yolo·目标检测
s09071361 小时前
【计算机视觉】详解立体匹配算法:原理、公式与核心策略
人工智能·算法·计算机视觉·立体匹配