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

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

审题:

需要原地删除数据让数组中一个数据只能出现最多2次,并返回修改后的数组的数据个数

(不会有空数组情况)

思路:

双指针:我们用left指向下一个需要插入数据的位置,right去遍历数组

left数据的个数小于2时,我们就可以插入数据到left中,若数据与前一个相同则cou++,不同则让cur等于一。

left数据的个数大于等于二则直接访问下一个数据,直到遇到不同的数据

解题:

(1)left为什么从1开始,cou为什么从1开始?

其一,第一个数据是可以直接插入的,所以直接从索引为1的位置开始插入数据,而因我们已经有一个数据默认插入了,所以cur就是初始化为1

其二,若不让left初始化为1,那么在left为0时无法访问left-1位置,会越界

(2)left表示的是待插入数据的位置,所以判断新数据需要和left-1的位置数据去判断

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


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

相关文章:

  • LabVIEW 实现自动对焦的开发
  • Springboot使用RabbitMQ实现关闭超时订单的一个简单示例
  • 改善 Kibana 中的 ES|QL 编辑器体验
  • Wndows bat将一个目录下所有子文件夹的路径导出到txt文本
  • pytorch autograd模块介绍
  • Vben5登录过期无法再次登录问题,http状态码
  • 数据的简单处理——pandas模块——选择数据
  • Linux系统离线部署MySQL详细教程(带每步骤图文教程)
  • 常见的排序算法过程和比较分析
  • NLP基础知识 - 向量化
  • 人工智能-Python网络编程-HTTP
  • MNER多模态实体识别论文介绍,有关大模型和chatgpt
  • 《机器学习》从入门到实战——线性回归
  • 使用seata实现分布式事务管理
  • 【畅购商城】购物车模块之修改购物车以及结算
  • 【总结整理】 神经网络与深度学习 邱锡鹏 课后习题答案 扩展阅读链接
  • L2TP_VPN和IPSec_VPN
  • Java 访问数据库的奇妙之旅
  • 【算法思想04】二分查找
  • Zynq PS端外设之GPIO
  • 复习打卡大数据篇——Hadoop YARN
  • 安装winserver2008R2虚拟机步骤
  • Github Copilot 插件更新失败
  • 留学生交流互动系统|Java|SSM|VUE| 前后端分离
  • Day59 图论part09
  • Lumos学习王佩丰Excel第二十三讲:饼图美化与PPT图表