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

leetcode 80 删除有序数组中的重复项 II

正文

在这里插入图片描述
仍旧使用双指针, 思想与 leetcode 26 删除有序数组中的重复项 一致。只是此时因为要求保留重复元素两次,我们的左侧指针可以从第二个数据开始,且右侧指针需要和两个元素的值进行判断。

class Solution:def removeDuplicates(self, nums: List[int]) -> int:left = 1for right in range(2, len(nums)):if nums[right] == nums[left] and nums[right] == nums[left - 1]:continueelse:left += 1nums[left] = nums[right]return left + 1

这里其实有一个 trick,我们观察到数组是按照顺序排列的,因此,我们可以直接对比右侧指针所指向数据与左侧指针值 -1 的值所指向数据是否相等,相等,则右侧指针右移,不相等,则左侧指针值 +1 并存储右侧指针当前指向的数据。

class Solution:def removeDuplicates(self, nums: List[int]) -> int:left = 1for right in range(2, len(nums)):if nums[right] != nums[left - 1]:left += 1nums[left] = nums[right]return left + 1

如果大家觉得有用,就请点个赞吧~

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 24.8.26学习心得
  • Python将Word文档转为PDF
  • go国内源设置
  • 四,接口类型和网络协议
  • 数据结构-全部由1组成的子矩形数量
  • Springboot统一给redis缓存的Key加前缀
  • 又一个坑爹:未启用约束一行或多行中包含违反非空、唯一或外键约束的值。
  • 并行 parallel DOP 受 Resource Manager 限制
  • spring框架简介
  • 网络工程师学习笔记——广域网通信
  • redis的aof日志配置项详解
  • AI大模型编写多线程并发框架(六十一):从零开始搭建框架
  • 【书生大模型实战营第三期 | 进阶岛第5关-茴香豆:企业级知识库问答工具】
  • 【深度学习】嘿马深度学习笔记第5篇:神经网络与tf.keras,学习目标【附代码文档】
  • BERT:用于语言理解的深度双向变形的预训练
  • 【391天】每日项目总结系列128(2018.03.03)
  • Java|序列化异常StreamCorruptedException的解决方法
  • JSONP原理
  • Laravel Telescope:优雅的应用调试工具
  • PHP CLI应用的调试原理
  • PHP的类修饰符与访问修饰符
  • 安装python包到指定虚拟环境
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 你对linux中grep命令知道多少?
  • ​​​​​​​​​​​​​​Γ函数
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • # include “ “ 和 # include < >两者的区别
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (function(){})()的分步解析
  • (k8s)Kubernetes本地存储接入
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (顺序)容器的好伴侣 --- 容器适配器
  • (转)大型网站架构演变和知识体系
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET : 在VS2008中计算代码度量值
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net framework 4.0中如何 输出 form 的name属性。
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .NET4.0并行计算技术基础(1)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [001-03-007].第07节:Redis中的事务
  • [1127]图形打印 sdutOJ
  • [22]. 括号生成
  • [c]统计数字
  • [C++][基础]1_变量、常量和基本类型
  • [C++]模板与STL简介
  • [CLIP-VIT-L + Qwen] 多模态大模型源码阅读 - 视觉模型篇
  • [codeforces]Checkpoints
  • [CR]厚云填补_SEGDNet
  • [emacs] CUA的矩形块操作很给力啊