题目
思路
采用暴力法检查所有元素会超时,可以采用STL的set自动将窗口中的元素排序。
然后采用滑动窗口思想
代码语言:javascript复制class Solution {
public:
bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {
set<long long> rec;
int left = 0;
for (int i = 0; i < nums.size(); i ) {
if (i - left > k) rec.erase(nums[left ]);
auto it = rec.lower_bound((long long) nums[i] - t);
if (it != rec.end() && abs(*it - nums[i]) <= t) return true;
rec.insert(nums[i]);
}
return false;
}
};