Welcome to collectivesolver - Programming & Software Q&A. A website you can trust. All programs tested and works. Contact: aviboots(AT)netvision.net.il
Bonsai Boy of New York Bonsai Trees and Accessories

BlueHost Web Hosting

Liquid Web iThemes WordPress Hosting

Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

DreamHost Web Hosting


Ecommerce Software - Best Ecommerce Platform Made for You - Free Trial

Liquid Web Cloud VPS Hosting

10,936 questions

14,844 answers

573 users

How to find the first repeating element in an array of integers with C++

2 Answers

0 votes
#include <iostream>
#include <set>

using namespace std;

int get_first_repeating_element(int arr[], int len) { 
    int x = -1; 
    set<int> st; 
  
    for (int i = len - 1; i >= 0; i--) { 
        if (st.find(arr[i]) != st.end()) // element exist in set
            x = i; 
        else   
            st.insert(arr[i]); 
    } 
  
    if (x != -1) 
        return arr[x]; 
    
    return -1;
} 
  
int main() 
{ 
    int arr[] = {1, 2, 4, 5, 6, 5, 4, 3, 7}; 
  
    int n = get_first_repeating_element(arr, sizeof(arr) / sizeof(arr[0])); 
    
    if (n != -1) 
        cout << "First repeating element is: " << n; 
    else
        cout << "No repeating elements"; 
    
}  




/*
run:

First repeating element is: 4

*/

 




answered May 13 by avibootz
0 votes
#include <iostream>

using namespace std;

int element_exist(int arr[], int len, int start, int n) { 
    for (int i = start; i <= len; i++) { 
        if (arr[i] == n)
            return 1;
    }
    return 0;
}   

int get_first_repeating_element(int arr[], int len) { 
    
    for (int i = 0; i <= len; i++) { 
        if (element_exist(arr, len, i + 1, arr[i])) 
            return arr[i];
    }
    return -1;
} 
  
int main() 
{ 
    int arr[] = {1, 2, 4, 5, 6, 5, 4, 3, 7}; 
  
    int n = get_first_repeating_element(arr, sizeof(arr) / sizeof(arr[0])); 
    
    if (n != -1) 
        cout << "First repeating element is: " << n; 
    else
        cout << "No repeating elements"; 
    
}  




/*
run:

First repeating element is: 4

*/

 




answered May 13 by avibootz
...