leetcode刷题-80.删除排序数组中的重复项 II
2024-08-27 07:11:22
题目
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
示例 1:
给定 nums = [1,1,1,2,2,3],
函数应返回新长度 length = 5, 并且原数组的前五个元素被修改为 1, 1, 2, 2, 3 。
你不需要考虑数组中超出新长度后面的元素。
思路
删除多余的重复项
实现
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
if not nums:
return False
mark = nums[0]
m = 0
i = 0
while i < len(nums):
if nums[i] == mark:
m += 1
else:
mark = nums[i]
m = 1
if m > 2:
nums.pop(i)
i -=1
i += 1
最新文章
- 50个jQuery插件可将你的网站带到另一个高度
- UI拼图导出脚本,兼容cegui的ImageSet格式
- LeetCode OJ-- Wildcard Matching **@
- Unity3D-terrain brush地形画刷无法出现在Scene中,无法刷地图2
- .Net操作.exe文件
- 黄聪:wordpress如何添加自定义文章快速编辑按钮
- Linxu指令--crond
- application-config.xml和mvc-config.xml的区别
- 计算机网络之动态主机配置协议DHCP
- 二分(HDU2289 Cup)
- 运维route语法
- day09 函数学习
- Linux下修改环境变量,不小心改错,找不到命令解决办法
- 异常 Exception 知识点总结 MD
- oracle 日期格式化 TO_CHAR (datetime) 修饰语和后缀
- 小丸工具箱FAQ
- 2017.11.11日后matlab统一过期需激活解决办法
- codeforces 979C Kuro and Walking Route
- ASP.NET MVC异常处理方案
- ORM到底是什么有何优缺点