text из строчных латинских букв и список запросов ranges. Запрос [l, r] выделяет кусок text[l..r] (оба конца включительно, нумерация с нуля).
Назовём непустую подстроку *одноконечной*, если её первый и последний символы совпадают. В частности, любая подстрока из одного символа — одноконечная.
Для каждого запроса посчитайте, сколько одноконечных подстрок есть внутри его куска. Подстроки на разных позициях считаются разными, даже если совпадают по тексту. Верните список ответов в порядке запросов.text="banana", ranges=[[0, 5], [1, 3], [2, 2]] → [10, 4, 1]
В «banana» буква a встречается 3 раза (даёт 3·4/2 = 6 кусков), n — 2 раза (3 куска), b — 1 раз (1 кусок): всего 10. В «ana» — 3 + 1 = 4. Кусок из одной буквы — 1.
text="abba", ranges=[[0, 3]] → [6]
Подходят «a», «b», «b», «a», «bb» и сама «abba» — 6 кусков.
text состоит из строчных латинских буквtext="banana", ranges=[[0, 5], [1, 3], [2, 2]]
[10, 4, 1]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 64 теста на сервере, включая скрытые.