LeetCode题解(0026):删除排序数组中的重复值(Python)
发布日期:2021-06-29 19:51:41
浏览次数:3
分类:技术文章
本文共 861 字,大约阅读时间需要 2 分钟。
LeetCode题解:0026(删除排序数组中的重复值)
(简单)
解法 | 执行用时 |
---|---|
Ans 1 (Python) | 60ms (>45.26%) |
Ans 2 (Python) | 1040ms (>8.16%) |
Ans 3 (Python) | 52ms (>62.63%) |
解法一(遍历寻找重复值,,再遍历移除):
def removeDuplicates(self, nums: List[int]) -> int: hashset = set() del_list = [] for i in range(len(nums)): d = nums[i] if d not in hashset: hashset.add(d) else: del_list.append(i) for i in del_list[::-1]: nums.pop(i) return len(nums)
解法二(一次遍历直接移除):
def removeDuplicates(self, nums: List[int]) -> int: for i in range(len(nums))[::-1]: d = nums[i] if d in nums[i + 1:]: nums.pop(i) return len(nums)
解法三(注意到排序数组的条件):
def removeDuplicates(self, nums: List[int]) -> int: m = 0 for i in range(len(nums) - 1): if nums[i + 1] != nums[i]: m += 1 nums[m] = nums[i + 1] return m + 1
转载地址:https://dataartist.blog.csdn.net/article/details/106759167 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月11日 06时13分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vue学习一
2019-04-30
基于Jenkins的.Net Core应用自动部署--学习一
2019-04-30
bootstrap-vue
2019-04-30
C# WebUtils
2019-04-30
ETL
2019-04-30
CR(变更请求)
2019-04-30
MVC是什么
2019-04-30
使用C#创建Windows服务
2019-04-30
Visual Studio 命令行wsdl生成C#操作类
2019-04-30
easyui-dialog
2019-04-30
jquery.显示隐藏切换
2019-04-30
C# Dictionary 是否包含key
2019-04-30
C#计算两个时间年份月份差&计算两个日期的时间间隔
2019-04-30
BI与ETL
2019-04-30
超级实用但很少人知道的 VS 技巧[更新]
2021-07-03
C# 矩阵取值
2021-07-03
台积电/联发科/富士康/高通/三星/中芯国际/ASML/华为、光刻机、芯片/
2021-07-03
C# Activator.CreateInstance
2021-07-03
DMZ
2021-07-03
c# EPPlus.dll
2021-07-03