博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Contains Duplicate III
阅读量:6621 次
发布时间:2019-06-25

本文共 1075 字,大约阅读时间需要 3 分钟。

This problem gets much trickier than Contains Duplicate and Contains Duplicate II. 

The basic idea is to maintain a window of k numbers. For each new number, if there exists a number in the window with difference not larger than k, then return true. When we check every number and have not returned true, return false. Remember that we need to update the windows (erase the earliest added element) after it has more than k elements.

The code is actually pretty short if we take advantage of the STL set template and its method lower_bound.

1     bool containsNearbyAlmostDuplicate(vector
& nums, int k, int t) { 2 set
windows; 3 for (int i = 0; i < nums.size(); i++) { 4 auto pos = windows.lower_bound(nums[i] - t); 5 if (pos != windows.end() && *pos <= (long long)nums[i] + t) 6 return true; 7 windows.insert(nums[i]); 8 if (i >= k) windows.erase(nums[i - k]); 9 }10 return false;11 }

转载于:https://www.cnblogs.com/jcliBlogger/p/4562930.html

你可能感兴趣的文章
PHP数据集构建JSON及新数组
查看>>
写一本书和找一本书
查看>>
hdu1010 Tempter of the Bone(DFS+剪枝)
查看>>
js这些代码你都不会,你还有什么好说的!!!
查看>>
Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)
查看>>
Nexus设备升级5.0方法
查看>>
洛谷P1311 选择客栈
查看>>
Oracle参数设置之set与reset的实际案例
查看>>
Python 字典 copy()方法
查看>>
判断是否是爬虫在访问网站
查看>>
java程序员必须要学会的linux命令总结
查看>>
Java代码规范和质量检查插件-Checkstyle(官方资源)
查看>>
IDEA:将WEB-INF\lib下的Jar包添加到项目中
查看>>
【Java猫说】Java多线程之内存可见性(下篇)
查看>>
php-socket 客户端/服务端
查看>>
SVN迁移到GIT且保留提交日志
查看>>
在Kubernetes上运行高可用的WordPress和MySQL
查看>>
Go代码打通HTTPs
查看>>
[Leetcode] Reverse Linked List 链表反转(递归与非递归)
查看>>
HTML中dl元素的高度问题
查看>>