题目描述:

第一次提交:超时

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

最新文章

  1. Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
  2. seajs3.0.0源码分析记录
  3. 浅谈对Spring Framework的认识
  4. java线程内存模型,线程、工作内存、主内存
  5. #define命令的一些高级用法
  6. JS对象或属性的不变性
  7. drozer使用
  8. python_爬百度百科词条
  9. Python爬虫【实战篇】scrapy 框架爬取某招聘网存入mongodb
  10. 【转】给word中的代码着色
  11. 【API知识】类型转换工具ConvertUtils引发的思考
  12. centos常用命令--备份
  13. poj 2348 Euclid's Game 题解
  14. Google Review中Zlib.Portable报错的一种排查解决方案
  15. BNU Concentric Rings
  16. C# 编程实现串口通信
  17. MySQL:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
  18. 第二十一次ScrumMeeting会议
  19. hdu 2545 树上战争(并查集)
  20. java配置文件转义问题

热门文章

  1. Ubuntu安装mongo可视化工具
  2. 淘宝内核月报2014-11-draft
  3. 2018-2-13-win10-uwp-入门
  4. 标准 IO fprintf 与 sprintf 函数使用
  5. nginx打包成rpm
  6. How to enter special characters like “&” in oracle database? [duplicate]
  7. scip 练习2.18
  8. 用python 编写redis 暴力破解密码的程序
  9. 使用sqlyog工具同步两个相同结构的数据库之间的数据
  10. PHPExcel导出数据量过大处理