Количество раз, когда текущее целое число уже встречалось во время обхода массива
Учитывая массив 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)