leetcode-219-存在重复元素②
2024-10-07 20:41:34
题目描述:
第一次提交:超时
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
for i in range(len(nums)-1):
for j in range(i+1,min(i+k+1,len(nums))):
if nums[i] == nums[j]:return True
return False
第二次提交:超时
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
if k>=len(nums):
if len(set(nums))!=len(nums):
return True
else:
for i in range(len(nums)-k):
if len(set(nums[i:i+k+1]))!=len(nums[i:i+k+1]):return True
return False
优化:哈希表维护滑动窗口:O(N)
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
windows = set()
for i in range(len(nums)):
if nums[i] in windows:
return True
windows.add(nums[i])
if len(windows) > k:
windows.remove(nums[i-k])
return False
最新文章
- Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
- seajs3.0.0源码分析记录
- 浅谈对Spring Framework的认识
- java线程内存模型,线程、工作内存、主内存
- #define命令的一些高级用法
- JS对象或属性的不变性
- drozer使用
- python_爬百度百科词条
- Python爬虫【实战篇】scrapy 框架爬取某招聘网存入mongodb
- 【转】给word中的代码着色
- 【API知识】类型转换工具ConvertUtils引发的思考
- centos常用命令--备份
- poj 2348 Euclid's Game 题解
- Google Review中Zlib.Portable报错的一种排查解决方案
- BNU Concentric Rings
- C# 编程实现串口通信
- MySQL:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
- 第二十一次ScrumMeeting会议
- hdu 2545 树上战争(并查集)
- java配置文件转义问题
热门文章
- Ubuntu安装mongo可视化工具
- 淘宝内核月报2014-11-draft
- 2018-2-13-win10-uwp-入门
- 标准 IO fprintf 与 sprintf 函数使用
- nginx打包成rpm
- How to enter special characters like “&;” in oracle database? [duplicate]
- scip 练习2.18
- 用python 编写redis 暴力破解密码的程序
- 使用sqlyog工具同步两个相同结构的数据库之间的数据
- PHPExcel导出数据量过大处理