Leetcode 220 Solution

This article provides solution to leetcode question 220 (contains-duplicate-iii)

https://leetcode.com/problems/contains-duplicate-iii

Solution

class Solution { public: bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) { if (k == 0) return false;
set<int64_t> a;
for (int i = 0; i < nums.size(); i++) { auto it = a.lower_bound((int64_t)nums[i] - t);
if (it != a.end() && *it <= (int64_t)nums[i] + t) return true;
if (i >= k) a.erase(nums[i - k]);
a.insert(nums[i]); }
return false; } };