题解:用map保存数组item和下标的对应关系,注意边界情况和及时更新map映射关系
class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { //防止空指针 if (nums.size() < 2 || k <= 0) return false; //初始化 map<int, int> contain; contain[nums[0]] = 0; for (int i = 1, len = nums.size() - 1; i < len; i++) { if (contain.find(nums[i]) != contain.end()) { if (i - contain[nums[i]] <= k) { return true; } else contain[nums[i]] = i; } else contain[nums[i]] = i; } //数组扫描完毕,不包含 return false; }};新闻热点
疑难解答