Два указателя
Палиндромные подстроки
Посчитать количество палиндромных подстрок в строке
Постановка задачи
Описание (LeetCode)
Дана строка s. Верните количество палиндромных подстрок в этой строке.
Подстрока - это непрерывная часть строки. Палиндром - это строка, которая читается одинаково слева направо и справа налево.
Подстроки считаются разными, если они начинаются или заканчиваются в разных индексах, даже если их содержимое одинаковое.
Пример 1:
s = "abc"
Результат:
3
Пояснение:
Палиндромные подстроки: "a", "b", "c".
Пример 2:
s = "aaa"
Результат:
6
Пояснение:
Палиндромные подстроки: "a", "a", "a", "aa", "aa", "aaa".
Ограничения:
1 <= s.length <= 1000sсостоит только из строчных английских букв.
Решение
Эта задача очень похожа на Самую длинную подстроку-палиндром. Там мы искали лучший палиндром, а здесь нужно посчитать все палиндромные подстроки. Четный и нечетный центры, а также само расширение вокруг центра уже разобраны в предыдущей задаче, поэтому здесь сфокусируемся на подсчете.
Перейдите на Premium, чтобы продолжить
Разблокируйте доступ к этой статье и всем остальным материалам с NowInterview Premium
Перейти на Premium