Количество раз, когда текущее целое число уже встречалось во время обхода массива

Опубликовано: 20 Сентября, 2022

Учитывая массив arr[] , задача состоит в том, чтобы найти, сколько раз текущее целое число уже встречалось во время обхода массива.

Примеры :

Input: arr[] = {2, 3, 3, 200, 175, 2, 200, 2, 175, 3}
Output: 0 0 1 0 0 1 1 2 1 2
Explanation: Before the 0th index, 2 is encountered 0 times. Before the 2nd index, 3 is encountered once at index 1. Similarly, before the 7th index, 2 is occurred twice and so on.

Input: arr[] = {200, 200, 55, 200, 55, 2, 3, 2}
Output:  0 1 0 2 1 0 0 1

Подход . Задача может быть решена путем отслеживания частоты отдельных элементов до текущего элемента с использованием HashMap. Выполните следующие шаги, чтобы решить проблему:

  • Создайте хэш-карту, скажем, « occ », чтобы сохранить частоты отдельных элементов до текущего элемента.
  • Для текущего элемента проверьте, существует ли он уже внутри хэш -карты или нет .
  • Если он существует, сохраните соответствующую ему частоту , иначе сохраните 0 .

Ниже приведена реализация вышеуказанного подхода:


Временная сложность : O(N)
Вспомогательное пространство : O(N)