#include <iostream>
using namespace std;
// Naive function to find minimum index of repeating element
int findMinIndex(int arr[], int n)
{
// for each element arr[i], search it in sub-array arr[i+1..n-1]
// and return as soon as first repeated occurrence is found
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
// if the element is seen before, return its index
if (arr[j] == arr[i])
return i;
}
}
// invalid input
return n;
}
// main function
int main()
{
int arr[] = { 5, 6, 3, 4, 3, 6, 4 };
// int arr[] = { 1, 2, 3, 4, 5, 6 };
int n = sizeof(arr) / sizeof(arr[0]);
int minIndex = findMinIndex(arr, n);
if (minIndex != n)
cout << "Minimum index of repeating element is " << minIndex;
else
cout << "Invalid Input";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gTmFpdmUgZnVuY3Rpb24gdG8gZmluZCBtaW5pbXVtIGluZGV4IG9mIHJlcGVhdGluZyBlbGVtZW50CmludCBmaW5kTWluSW5kZXgoaW50IGFycltdLCBpbnQgbikKewoJLy8gZm9yIGVhY2ggZWxlbWVudCBhcnJbaV0sIHNlYXJjaCBpdCBpbiBzdWItYXJyYXkgYXJyW2krMS4ubi0xXQoJLy8gYW5kIHJldHVybiBhcyBzb29uIGFzIGZpcnN0IHJlcGVhdGVkIG9jY3VycmVuY2UgaXMgZm91bmQKCWZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKykKCXsKCQlmb3IgKGludCBqID0gaSArIDE7IGogPCBuOyBqKyspCgkJewoJCQkvLyBpZiB0aGUgZWxlbWVudCBpcyBzZWVuIGJlZm9yZSwgcmV0dXJuIGl0cyBpbmRleAoJCQlpZiAoYXJyW2pdID09IGFycltpXSkKCQkJCXJldHVybiBpOwoJCX0KCX0KCgkvLyBpbnZhbGlkIGlucHV0CglyZXR1cm4gbjsKfQoKLy8gbWFpbiBmdW5jdGlvbgppbnQgbWFpbigpCnsKCWludCBhcnJbXSA9IHsgNSwgNiwgMywgNCwgMywgNiwgNCB9OwoJLy8gaW50IGFycltdID0geyAxLCAyLCAzLCA0LCA1LCA2IH07CgoJaW50IG4gPSBzaXplb2YoYXJyKSAvIHNpemVvZihhcnJbMF0pOwoKCWludCBtaW5JbmRleCA9IGZpbmRNaW5JbmRleChhcnIsIG4pOwoKCWlmIChtaW5JbmRleCAhPSBuKQoJCWNvdXQgPDwgIk1pbmltdW0gaW5kZXggb2YgcmVwZWF0aW5nIGVsZW1lbnQgaXMgIiA8PCBtaW5JbmRleDsKCWVsc2UKCQljb3V0IDw8ICJJbnZhbGlkIElucHV0IjsKCglyZXR1cm4gMDsKfQ==