This is a leetcode question: 219. Contains Duplicate II
I used the insert function for hash map. Can someone please tell me what is wrong with the first code?
//wrong solution
class Solution {
public:
   bool containsNearbyDuplicate(vector<int>& nums, int k) {
       unordered_map<int,int>m;
       int n=nums.size();
       for(int i=0;i<n;i++){
          if(m.find(nums[i])!=m.end() && abs(i-m[nums[i]]) <=k) return true;
          m.insert(pair<int,int>(nums[i],i));                                      //this is the faulty part
       }
       return false;
   }
};
//Right 
class Solution {
public:
    bool containsNearbyDuplicate(vector<int>& nums, int k) {
        unordered_map<int,int>m;
        int n=nums.size();
        for(int i=0;i<n;i++){
           if(m.find(nums[i])!=m.end() && abs(i-m[nums[i]]) <=k) return true;
           m[nums[i]]=i; 
        }
        return false;
    }
};
 
    