👣 Задача. Подсчет уникальных символов всех подстрок заданной строки

👣 Задача. Подсчет уникальных символов всех подстрок заданной строки

https://t.me/golang_interview/

Сложность задачи: Hard

Условие задачи:

Определим функцию countUniqueChars(s), которая возвращает количество уникальных символов в s.

Например, вызов countUniqueChars(s), если s = "LEETCODE", тогда "L", "T", "C", "O", "D" являются уникальными символами, поскольку они появляются только один раз в s, поэтому countUniqueChars(s ) = 5.

Для строки s вернуть сумму countUniqueChars(t), где t — подстрока s. Тестовые примеры генерируются таким образом, чтобы ответ помещался в 32-битное целое число.

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

Строка s состоит только из заглавных английских букв.

Пример:

Ввод: s = "ABC"

Вывод: 10

Объяснение: 

Все возможные подстроки: «A», «B», «C», «AB», «BC» и «ABC».

Каждая подстрока состоит только из уникальных букв.

Сумма длин всех подстрок равна 1 + 1 + 1 + 2 + 2 + 3 = 10

Ввод: s = "ABA"

Вывод: 8

Решение:


Report Page