Contains Duplicate II

class Solution {
public:
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
        map<int,vector<int>>count_map;
        for(int i=0;i<nums.size();i++){
            if(count_map.find(nums[i]) != count_map.end()){
                vector<int>arr = count_map[nums[i]];
                arr.push_back(i);
                count_map[nums[i]] = arr;
                for(int j=1;j<arr.size();j++){
                    if(arr[j]-arr[j-1] <= k) return true;
                }
            }else{
                vector<int>v(1,i);
                count_map[nums[i]] = v; 
            }
        }
        return false;
    }
};