当前位置: 首页 > article >正文

Leetcode—删除有序数组的重复项

题目描述

思路

     思路:定义两个指针/变量,dst指向第一个位置,scr指向下一个位置,判断scr和dst位置的数据。

   case1:相等,scr++;

   case2:  不相等,dst++,nums[dst]=nums[scr],scr++;

画图解释

定义两个指针/变量,dst指向第一个位置,scr指向下一个位置,判断scr和dst位置的数据。

   不相等,dst++,nums[dst]=nums[scr],scr++;

 相等,scr++;

不相等,dst++,nums[dst]=nums[scr],scr++;

 此时src跳出了循环,dst指向的是数组下标为2的位置,而我们最终需要返回dst+1。

完整代码

int removeDuplicates(int* nums, int numsSize)
{
    int dst=0,src=dst+1;
    while(src<numsSize)
    {
        //nums[dst]  nums[src]
        //相同(重复) src++
        //不相同,dst++ , 赋值,src++
        if(nums[src]!=nums[dst]&&++dst!=src)
        {
            nums[dst]=nums[src];
        }
        src++;
    }
    return dst+1;
}


http://www.kler.cn/news/311076.html

相关文章:

  • 408算法题leetcode--第七天
  • Llama 3.1 大模型指令微调提升中文能力
  • 【系统架构设计师-2019年真题】案例分析-答案及详解
  • Scikit-learn 学习笔记
  • 尚品汇-秒杀商品存入缓存、Redis发布订阅实现状态位(五十一)
  • 全球首个!复旦大学冯建峰团队开发数字孪生脑平台,具备 860 亿神经元规模
  • 旷视轻量化网络shufflenet算法解读
  • MySQL——数据库的高级操作(二)用户管理(3)删除普通用户
  • 机器学习1--概述
  • Linux创建虚拟磁盘并分区格式化
  • 「Netmarble 小镇」活动来了:踏上穿越标志性世界的旅程!
  • OpenHarmony鸿蒙( Beta5.0)智能门铃开发实践
  • Unity-Transform-坐标转换
  • k8s环境下的相关操作
  • (SERIES12)DM性能优化
  • Bandicam简体中文版下载与安装百度网盘资源
  • 多路径文件批量下载工具V1.0.3-支持批量下载文件到单独文件夹的工具-供大家学习研究参考
  • 攻防世界——simple_php(NO.GFSJ0485)
  • pikachu下
  • JavaScript基础学习:预解析机制
  • 8-----手机机型维修工具助手 功能较全 涵盖解锁 刷机 修复等选项 维修推荐
  • dll注入的实现及session0注入
  • 编译器/工具链环境:GCC vs LLVM/Clang,MSVCRT vs UCRT
  • 继承1 2024_9_18
  • kafka之路-01从零搭建环境到SpringBoot集成
  • leetcode 四数相加||
  • PostgreSQL - SQL语句1
  • 系统在哪些情况下会触发缺页中断
  • oracle pkg正在跑如何停止
  • A review on rumour prediction and veracity assessment in online social network