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

数组篇 第一题:删除排序数组中的重复项

更多精彩内容请关注微信公众号:听潮庭。

第一题:删除排序数组中的重复项

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。
考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:
更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
返回 k 。

class Solution:def removeDuplicates(self, nums: List[int]) -> int:for i in range(len(nums)-1, 0,-1): # 逆序删除,可以避免删除元素后的下标变化if nums[i] == nums[i-1]:del nums[i]return len(nums)

解题思路:

因为数组是排序的,只要是相同的肯定是挨着的,我们只需要遍历所有数组,然后前后两两比较,如果有相同的就把后面的给删除。

代码重点:

逆序删除,可以避免删除元素后的下标变化。

作者:LeetCode
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.lryc.cn/news/183110.html

相关文章:

  • 堆的初步认识
  • CycleGAN模型之Pytorch实战
  • C++(STL容器适配器)
  • 软考 系统架构设计师系列知识点之软件架构风格(7)
  • 【Vue3】自定义指令
  • UG\NX CAM二次开发 加工模块获取 UF _ask_application_module
  • 借助GPU算力编译Android
  • docker-compose一键部署mysql
  • MATLAB 函数签名器
  • 2019强网杯随便注bugktu sql注入
  • Html+Css+Js计算时间差,返回相差的天/时/分/秒(从未来的一个日期时间到当前日期时间的差)。
  • mybatis项目启动报错:reader entry: ���� = v
  • 【GIT版本控制】--什么是版本控制
  • ChatGPT付费创作系统V2.3.4独立版 +WEB端+ H5端 + 小程序最新前端
  • GEE16: 区域日均降水量计算
  • 打开MySQL数据库
  • 玩转ChatGPT:DALL·E 3生成图像
  • 小程序入门笔记(一) 黑马程序员前端微信小程序开发教程
  • 【进程管理】初识进程
  • ArcGIS Maps SDK for JS:监听按钮点击事件控制图层的visible属性
  • 微信小程序-1
  • 不容易解的题10.5
  • 后端面经学习自测(二)
  • 使用Jest测试Cesium源码
  • buuctf-[GXYCTF2019]禁止套娃 git泄露,无参数rce
  • 【逐步剖C】-第十一章-动态内存管理
  • 【树】树的直径和重心
  • 《Attention Is All You Need》论文笔记
  • C++笔记之不同buffer数量下的生产者-消费者机制
  • 编码文字使用整数xyz 三个坐标 并使用