当前位置:网站首页>力扣(LeetCode)220. 存在重复元素 III(2022.08.08)
力扣(LeetCode)220. 存在重复元素 III(2022.08.08)
2022-08-09 10:28:00 【ChaoYue_miku】
给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。
如果存在则返回 true,不存在返回 false。
示例 1:
输入:nums = [1,2,3,1], k = 3, t = 0
输出:true
示例 2:
输入:nums = [1,0,1,1], k = 1, t = 2
输出:true
示例 3:
输入:nums = [1,5,9,1,5,9], k = 2, t = 3
输出:false
提示:
0 <= nums.length <= 2 * 104
-231 <= nums[i] <= 231 - 1
0 <= k <= 104
0 <= t <= 231 - 1
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/contains-duplicate-iii
方法一:滑动窗口 + 有序集合
C++提交内容:
class Solution {
public:
bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {
int n = nums.size();
set<int> rec;
for (int i = 0; i < n; i++) {
auto iter = rec.lower_bound(max(nums[i], INT_MIN + t) - t);
if (iter != rec.end() && *iter <= min(nums[i], INT_MAX - t) + t) {
return true;
}
rec.insert(nums[i]);
if (i >= k) {
rec.erase(nums[i - k]);
}
}
return false;
}
};
边栏推荐
猜你喜欢
随机推荐
【报错记录】解决华擎J3455-ITX不插显示器无法开机的问题
hover内部指定子类的样式
学习NET-SNMP之一 ---------编译NET-SNMP程序。
实现下拉加载更多
收到人生第一笔五位数工资
Collections and Functions
stimulus.js 初体验
【size_t是无符号整数 (-1 > 10) -> 1】
学习NET-SNMP之二-----------VisualStudio编译Net-SNMP
Attentional Feature Fusion
好久没更新博客了
markdown转ipynb--利用包notedown
Win7 远程桌面限制IP
基于信号量与环形队列实现读写异步缓存队列
笔记本电脑使用常见问题,持续更新
【原创】解决阿里云oss-browser.exe双击没反应打不开,提供一种解决方案
OpengGL绘制立方体的三种方法
OpenGL ES2.0编程三部曲(转载自MyArrow)
开源SPL,WebService/Restful广泛应用于程序间通讯,如微服务、数据交换、公共或私有的数据服务等。
unix环境编程 第十五章 15.7消息队列
![[相机配置] 海康相机丢包配置环境](/img/e2/23209f09f1716a6b7e8808082f6aa4.png)


![[贴装专题] 基于多目视觉的手眼标定](/img/10/8303854fbba5d9b06032e38e9df233.png)



![[项目配置] 配置Qt函数库和ui界面库的封装并调用的项目](/img/e9/d41f144a2f27e76f97cd6401d37578.png)
