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

9 views

```#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

*/```

```#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

*/```