First Repeating element

 Given an integer array A of size N, find the first repeating element in it.

We need to find the element that occurs more than once and whose index of first occurrence is smallest.

If there is no repeating element, return -1.

 

int Solution::solve(vector<int> &A) {
    int n=A.size();
    unordered_map<int,int> m;
    if(n==1) return -1;
    for(int i=0;i<n;i++)
    {
        m[A[i]]++;
    }
    for(int i=0;i<n;i++)  if(m[A[i]]>1)return A[i];
    return -1;
}

int Solution::solve(vector<int> &A) {
    int n=A.size();
    int min=-1;
    unordered_map<int, int> b;
    for(int i=n-1;i>=0;i--){
        b[A[i]] +=1;
       if(b[A[i]] > 1) min=A[i];
    }
    
    
    return min;
}

 

 

Comments

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!