判断一个 int 向量里是否有相同的数 并且距离在k之内 (2)
class Solution { public: bool containsNearbyDuplicate(vector<int>& nums, int k) { map<int,char> exit_last; for(int i=0;i<nums.size();i++){ if(exit_last.find(nums[i]) == exit_last.end()){ exit_last.insert(pair<int,char>(nums[i],i)); } else{ if(i - exit_last[nums[i]] <= k) return true; exit_last[nums[i]] = i; } } return false; } };
思想 : 本格int上次出现的下标,判断跟本次出现的距离 如果小于k 就是true 否则是false