Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,166 questions

40,722 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, 2019 by avibootz
0 votes
#include <iostream>

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) 
        std::cout << "First repeating element is: " << n; 
    else
        std::cout << "No repeating elements"; 
     
}  
 
 
 
 
/*
run:
 
First repeating element is: 4
 
*/

 





answered May 13, 2019 by avibootz
edited May 28, 2023 by avibootz
...