判断一个 int 向量里是否有相同的数 并且距离在k之内 (2)

时间:2023-02-02 02:24:43
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