当前位置:网站首页>力扣(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;
}
};
边栏推荐
猜你喜欢

Battery modeling, analysis and optimization (Matlab code implementation)

Demand side power load forecasting (Matlab code implementation)

笔记本电脑使用常见问题,持续更新

程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果

Nodejs服务端

分类预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多特征分类预测

壁纸
![[贴装专题] 视觉贴装平台与贴装流程介绍](/img/ec/870af3b56a487a5ca3a32a611234ff.png)
[贴装专题] 视觉贴装平台与贴装流程介绍

electron 应用开发优秀实践

【报错记录】解决华擎J3455-ITX不插显示器无法开机的问题
随机推荐
tuple dictionary collection
xmms已经发布到v1.3了,好久没写博客了
自启服务mock联调跨域问题
【原创】解决阿里云oss-browser.exe双击没反应打不开,提供一种解决方案
机器学习--线性回归(Linear Regression)
好久没更新博客了
Electron application development best practices
编程技术提升
Attentional Feature Fusion
Unix Environment Programming Chapter 14 14.4 I/O Multiplexing
在犹豫中度过了老多天,今天的工作时记录
Dialogue with the DPO of a multinational consumer brand: How to start with data security compliance?See you on 8.11 Live!
3D打印了这个杜邦线理线神器,从此桌面再也不乱了
Unix Environment Programming Chapter 15 15.9 Shared Storage
unix环境编程 第十五章 15.5FIFO
MySQL和MyEclipse的数据库连接操作
1004 成绩排名 (20 分)
【size_t是无符号整数 (-1 > 10) -> 1】
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
1002 写出这个数 (20 分)