How to usean Array to Store Indices in Javascript

In this approach, we utilize an array to store the indices of elements as we traverse the input array. When we encounter a repeating element, we can directly access its index from the array and compare it with the current minimum index.

  1. Create an array indices to store the indices of elements.
  2. Initialize the minIndex variable to Infinity.
  3. Iterate through the input array:
    • If the current element already exists in the indices array, update minIndex with the smaller value between the current minimum index and the index of the repeating element.
    • Otherwise, push the index of the current element into the indices array.
  4. After iterating through the entire array, check if minIndex has been updated. If it has, return minIndex; otherwise, return -1, indicating that there are no repeating elements.

Example:

JavaScript
function findMinIndexWithArray(arr) {
    const indices = []; // Array to store indices of elements
    let minIndex = Infinity;

    for (let i = 0; i < arr.length; i++) {
        const element = arr[i];
        if (indices[element] !== undefined) {
            minIndex = Math.min(minIndex, indices[element]);
        } else {
            indices[element] = i;
        }
    }

    return minIndex !== Infinity ? minIndex : -1;
}

const arr = [3, 2, 1, 2, 4, 3];
console.log(findMinIndexWithArray(arr)); // Output: 0

Output
0




JavaScript Program for the Minimum Index of a Repeating Element in an Array

Given an array of integers arr[], The task is to find the index of the first repeating element in it i.e. the element that occurs more than once and whose index of the first occurrence is the smallest. In this article, we will find the minimum index of a repeating element in an array in JavaScript.

Examples:

Input: arr[] = {10, 5, 3, 4, 3, 5, 6}
Output: 5
Explanation: 5 is the first element that repeats

Input: arr[] = {6, 10, 5, 4, 9, 120, 4, 6, 10}
Output: 6
Explanation: 6 is the first element that repeats

Table of Content

  • Brute force approach:
  • Using an Object (Hash Map)
  • Using a Set:

Similar Reads

Approach 1: Brute force approach

...

Approach 2: Using an Object (Hash Map)

Here we will use nested loops by using for to compare each element with every other element in the array to return duplicates....

Approach 3: Using a Set

Here we will use an object to store the elements you have seen so far as keys and their corresponding indices as values. When we encounter a repeating element, check if its index is smaller than the current minimum index....

Approach 4: Using an Array to Store Indices

Here we will use a set to keep track of the elements you have seen so far. When we encounter a repeating element, check if it exists in the set. If it does, compare its index with the current minimum index....