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

算法题(17):删除有序数组中的重复项

审题:

需要我们原地删除数组中的重复数据,并输出有效数据个数

思路:

方法一:原地解法(双指针)

设置left指针指向当前的非重复数据,right负责遍历数组,遇到和left指向的数据不同的数据就将值赋值给left+1的位置。

方法二:非原地解法(建数组)

我们建一个数组a,,第一个nums的数据直接插入,后面的数据若与a不同则可以插入到下一个有效位置

解题:

方法一:原地解法(双指针)

注意:

1.特殊处理:当数组是空的时候我们需要直接返回0,因为我们下面的代码无法兼容这个情况

2.让right初始化为1:因为第一个nums的数据一定是不重复的,所以遍历从索引为1开始

3.返回left+1:因为left表示的是有效数据的最大索引,而索引是从0开始的,所以数据个数要在此基础加1

方法二:非原地解法(建数组)

1.用cur来记录当前的非重复数据

2.k表示有效数据个数

26. 删除有序数组中的重复项 - 力扣(LeetCode)


http://www.kler.cn/a/454550.html

相关文章:

  • Linux系统之stat命令的基本使用
  • 【Compose multiplatform教程12】【组件】Box组件
  • 一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
  • 基于SpringBoot的“房产销售平台”的设计与实现(源码+数据库+文档+PPT)
  • 多旋翼无人机理论 | 四旋翼动力学数学模型与Matlab仿真
  • 结合大语言模型的异常检测方法研究
  • k8s coredns
  • 简单发布一个npm包
  • Ubuntu 24.04.1 LTS 配置静态固定IP地址
  • 计算机专业文献检索期末论文
  • 计算机网络——期末复习(3)4-6章考试重点
  • 零基础微信小程序开发——页面导航之编程式导航(保姆级教程+超详细)
  • 爬虫数据存储:Redis、MySQL 与 MongoDB 的对比与实践
  • 007-利用切面计算方法耗时
  • vue中el-select选择框带搜索和输入,根据用户输入的值显示下拉列表
  • R语言的数据类型
  • 随手笔记【六】
  • TDesign:Tabs 选项卡
  • Boost之log日志使用
  • Elasticsearch安装和数据迁移
  • [微服务]elasticsearc客服端操作
  • 【从零开始入门unity游戏开发之——C#篇33】C#委托(`Delegate`)和事件(`event` )、事件与委托的区别、Invoke()的解释
  • Spring Boot的开发工具(DevTools)模块中的热更新特性导致的问题
  • Vue3 Suspense:处理异步渲染过程
  • 力扣-数据结构-4【算法学习day.75】
  • EleutherAI/pythia-70m