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

【数据结构练习题】删除有序数组中的重复项

图片来源于网络

✨博客主页:小钱编程成长记
🎈博客专栏:数据结构练习题
🎈相关博文:消失的数字 — 三种解法超详解

删除有序数组中的重复项

  • 1.🎈题目
  • 2. 🎈解题思路
  • 3. 🎈具体代码
  • 🎇总结

1.🎈题目

在这里插入图片描述
在这里插入图片描述
力扣链接

2. 🎈解题思路

1.非严格递增的数组:两个相邻元素相等或递增的数组
2. 因为要在原地删除重复的元素,所以不能再创建数组,以数组为跳板解决为题。
3. 我们可以用类似双指针的方法,创建两个下标src和dest,通过前后元素的对比,若不同,则将dest位置上的元素覆盖掉src后一个的重复的元素,++dest;相同时,++dest
4. 举例,如图:

》src 和 dest上的元素相同,++dest
在这里插入图片描述

》不同时将dest位置上的元素覆盖掉src后一个的重复的元素,++dest
在这里插入图片描述

在这里插入图片描述
》相同时,++dest

在这里插入图片描述》不同时将dest位置上的元素覆盖掉src后一个的重复的元素,++dest

在这里插入图片描述

3. 🎈具体代码

int removeDuplicates(int* nums, int numsSize){int dest = 1;//下标int src = 0;while (dest < numsSize) // 因为 MAX_dest + 1 == numsSize{if (nums[src] != nums[dest]){// ++src;// nums[src] = nums[dest];// ++dest;nums[++src] = nums[dest++];}else{++dest;}}return src + 1;}

🎇总结

本篇文章我们解决了力扣上删除有序数组中的重复项这道题,感谢大家的阅读!大家一起进步!

点赞收藏加关注,C语言学习不迷路!
图片来源于网络

相关文章:

  • 基于SSM的汽车维修管理系统
  • 图像处理入门 1(Introduction to image processing)
  • Java架构师软件工程全流程
  • 基于单片机16位智能抢答器设计
  • 【vim 学习系列文章 12 -- vimrc 那点事】
  • 安装k8s
  • Python中的split()函数
  • JVM——GC垃圾回收器
  • 基于aop 代理 Sentinel Nacos配置控制包装类实现原理
  • TELUS Ventures(泰勒斯)
  • Android问题笔记四十一:JNI NewStringUTF错误的几种解决方案
  • C#学习相关系列之多线程(七)---Task的相关属性用法
  • uniapp开发小程序 小米手机真机bottom:0无效 底部间隙 设备安全区域处理办法
  • Error: no matching distribution found for tensorflow-cpu==2.6.*
  • DXF文件写入多边形和名称属性,可在Global Mapper和ArcGIS打开
  • [case10]使用RSQL实现端到端的动态查询
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【mysql】环境安装、服务启动、密码设置
  • avalon2.2的VM生成过程
  • axios 和 cookie 的那些事
  • CSS实用技巧干货
  • Flannel解读
  • JavaScript 一些 DOM 的知识点
  • Javascript弹出层-初探
  • java中具有继承关系的类及其对象初始化顺序
  • k8s 面向应用开发者的基础命令
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • unity如何实现一个固定宽度的orthagraphic相机
  • v-if和v-for连用出现的问题
  • yii2权限控制rbac之rule详细讲解
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 解析带emoji和链接的聊天系统消息
  • 前端之React实战:创建跨平台的项目架构
  • 通过git安装npm私有模块
  • 微信小程序开发问题汇总
  • Semaphore
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (12)Hive调优——count distinct去重优化
  • (4)(4.6) Triducer
  • (5)STL算法之复制
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (ros//EnvironmentVariables)ros环境变量
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)fiber的基本认识
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • .NET MVC第三章、三种传值方式
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args