Find first repeating element in an array of integers

Previous
Next

In this post, we will see how to find the first repeating element in array of integers.


Problem

Find the first repeating element in array of integers.
For example:

Input: array[] = {10, 7, 8, 1, 8, 7, 6}
Output: 7 [7 is the first element actually repeats]

Solution

Simple solution will be use two loops. Outer loop will iterate through loop and inner loop will check if element is repeated or not but time complexity of this solution will be o(n^2).

Another solution will be to create another array and sort it.Pick element from original array and find the element in sorted array using binary search but time complexity of this solution will be o(n^logn).
Can we do better?
Yes, we can iterate from right to left and use HashSet to keep track fo minimumIndex

  • Intialize minimumIndex with -1
  • Iterate over input array from right to left
  • If element is already present in Hashset, then update the minimumIndex else add element to the set
  • Once we are done with iteration, we will get minimumIndex in the end

Program to find the first repeating element in an array of integers

When you run above program, you will get below output:

The first repeating element in array is 7

The time complexity of this solution is O(n) and space complexity is also O(n).

That’s all about how to Find the first repeating element in an array of integers.

Previous
Next

Join Our News Letter – Stay Updated

Subscribe to Awesome Java Content.




Add Comment

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.
You can like our facebook page Java2blog