@ignat2009
14 лет, изучаю C#

Как вывести буквы, которые используется наиболее кол-во раз?

например my name is egor
вывод: еm
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Задача разбивается на 2: 1) подсчитать для каждой буквы количество ее вхождений, 2) Найти максимум и вывести его индекс.

Первая задача решается просто - заведите массив счетчиков. Например, на 256 элементов. Для каждой буквы строки увеличивайте счетчик с индексом равным символу (помните, же, что char в C++ - это целочисленный тип?)

Ну, вторая задача - это элементарное упраждение. Например, заведите переменную, в которой будете хранить индекс максимума. Пройдитесь по массиву счетчиков (от 0 до 255), и изменяйте этот индекс, если текущее значение больше максимального.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Можно отсортировать массив букв любым алгоритмом. Тогда буквы выстроятся в серии.
Например

aaaaaabbccccccccccdeeeeggggff

И тогда самая длинная серия и будет ответом.

Антагонист этого метода - это сортировка подсчетом. Это то о чем писал Wataru.
Оба метода - рабочие. Можно обсуждать тонкости которые в задаче не были заданы.

Стоит ли их обсуждать? ХЗ
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы