26. 删除有序数组中的重复项(双指针法) 零基础快速入门基础算法指南 力扣手把手带刷

复制代码
int removeDuplicates(int* nums, int numsSize) {
    if(numsSize==0) return 0;
    int fast=1,slow=1;
    while(fast<numsSize){
        if(nums[fast]!=nums[fast-1]){
            nums[slow++]=nums[fast];
        }
        fast++;
    }
    return slow;
}

核心思路:双指针法

  1. 指针定义
    • fast快指针 ,遍历原数组,负责寻找不重复的新元素
    • slow慢指针 ,指向新数组(无重复)的下一个待填充位置
  2. 核心逻辑 因为数组是非严格递增 的,重复元素一定相邻 ,所以只需比较 nums[fast]nums[fast-1]
    • 若两者不相等 :说明找到新的不重复元素,将其赋值到 nums[slow],并让 slow 后移。
    • 若两者相等 :说明是重复元素,直接跳过,仅让 fast 后移。
  3. 结果 遍历结束后,slow 的值就是去重后数组的长度 ,且数组前 slow 个元素为去重后的结果。

https://leetcode.cn/problems/remove-duplicates-from-sorted-array/solutions/728105/shan-chu-pai-xu-shu-zu-zhong-de-zhong-fu-tudo

相关推荐
CoovallyAIHub4 小时前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub5 小时前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub5 小时前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub5 小时前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub5 小时前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞6 小时前
程序员必须知道的核心算法思想
算法·编程开发·算法思想
徐小夕7 小时前
pxcharts Ultra V2.3更新:多维表一键导出 PDF,渲染兼容性拉满!
vue.js·算法·github
CoovallyAIHub8 小时前
OpenClaw一脚踩碎传统CV?机器终于不再只是看世界
深度学习·算法·计算机视觉
CoovallyAIHub8 小时前
仅凭单目相机实现3D锥桶定位?UNet-RKNet破解自动驾驶锥桶检测难题
深度学习·算法·计算机视觉
zone77398 小时前
002:RAG 入门-LangChain 读取文本
后端·算法·面试