Найдите частоту каждого элемента в данной матрице
Дана матрица arr[] размера N*N , содержащая символы английского алфавита. Задача состоит в том, чтобы найти частоту всех элементов матрицы.
Примечание. Распечатайте их в порядке убывания частоты.
Примеры:
Input: N = 2, arr[] = {{‘a’, ‘b’}, {‘a’, ‘c’}}
Output: a : 2, b : 1, c : 1
Explanation: The frequency of a is 2.
The frequency of ‘b’ is 1 and the Frequency of ‘c’ is 1.Input: N = 3, arr[] = {{‘a’, ‘a’, ‘a’}, {‘b’, ‘a’, ‘c’}, {‘d’, ‘c’, ‘a’}}
Output: a : 5, c : 2 b : 1, d : 1
Подход : Идея решения проблемы состоит в том, чтобы найти частоту каждого символа и сохранить каждый символ с их частотой. Затем отсортируйте символы по частоте в порядке убывания.
Выполните шаги, указанные ниже, чтобы реализовать подход.
- Объявите карту для хранения частоты каждого элемента в матрице.
- Пройдитесь по карте и сохраните каждый элемент с их частотой в массиве (скажем, arr2 ).
- Сортировать массив в порядке невозрастания в зависимости от частоты.
- Пройдите по arr2[] и напечатайте элементы.
Ниже приведена реализация описанного выше подхода.
Временная сложность: O(N 2 )
Вспомогательное пространство: O(N 2 )