Задать вопрос
@spezcial
Начинающий программист

Как возможно посчитать повторяющиеся буквы в слове?

Как возможно посчитать повторяющиеся буквы в слове и вывести уникальные буквы как ")", а повторяющиеся как "("?

К примеру:
погода - )()())
машина - )()))(
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
TheKnight
@TheKnight
Программист
Если букв ограниченное количество то можно использовать bitset, закодировав каждую букву в индекс бита.
Проходим, пересчитываем букву в индекс, проверяем текущий бит, выводим символ, записываем бит.
Решается за один проход.
Вместо bitset можно использовать массив бит или массив счетчиков букв.

Зависит еще от того, в какой кодировке текст, какое разнообразие букв и так далее.
Юникодная таблица должна уместиться в 20 килобайт.
Если же мы рассматриваем только русские(английские) буквы в нижнем регистре - то это 33(26) бит дополнительной памяти. Не учитывая вспомогательные обертки. Либо использовать UInt64(UInt32 для английских букв) как хранилище и битовой магией проверять и выставлять.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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