Найдите частоту каждого элемента в данной матрице

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

Дана матрица 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 )

РЕКОМЕНДУЕМЫЕ СТАТЬИ