题目:来源于力扣
分析:
用滑动窗口的思想,将遍历的区间限制在 i 到 i+k 之间。
需要用到set容器,将区间里的数插入到set中,如果该区间有重复的数,输出true。如果遍历的区间没有重复的数,那么在容器中删除该区间的第一个数,之后继续遍历下一个区间
上代码:
class Solution {
public:
bool containsNearbyDuplicate(vector<int>& nums, int k) {
set<int> s;
for(int i=0;i<nums.size();++i){
if(i>k){
s.erase(nums[i-k-1]);
}
if(s.count(nums[i])){
return true;
}
s.insert(nums[i]);
}
return false;
}
};
又是刷题的一天!!!
( ఠൠఠ )ノ