На шестой день Advent Of Code мы обнаруживаем последовательности уникальных символов. Я призываю вас сначала решить ее самостоятельно. https://adventofcode.com

Вход

Наш ввод сегодня — это одна строка, поэтому мы принимаем ее как std::string.

Поиск уникальной подстроки

Мы можем немного переформулировать задачу. Мы пытаемся найти подстроку, где частота каждого символа равна единице.

Частота символов — это то, что мы можем отслеживать, перебирая строку, поэтому все, что нам нужно сделать, это заметить, что мы достигли ситуации, когда частота каждого символа равна единице.

Поскольку это работает для любого смещения, мы можем повторно использовать это решение для второй части.

Ссылки

Репозиторий с полным решением (включая парсинг ввода) доступен здесь: https://github.com/HappyCerberus/moderncpp-aoc-2022.

Я ежедневно размещаю контент на современном C++ в Twitter, LinkedIn, Mastodon, Medium и Substack.