#ЛитКод
Задача:
647. Palindromic SubstringsЕсли задана строка s, верните количество палиндромных подстрок в ней. Строка является палиндромом, если она читается так же, как задом наперед. Подстрока - это непрерывная последовательность символов в строке.
Пример:Input: s = "abc"
Output: 3
👨💻
Алгоритм:1⃣Инициализируйте счетчик для подсчета палиндромных подстрок.
2⃣Для каждой позиции в строке используйте два метода расширения: один для палиндромов нечетной длины и один для палиндромов четной длины.
3⃣Расширяйте от центра, проверяя, является ли подстрока палиндромом, и увеличивайте счетчик, если условие выполняется.
😎
Решение:
var countSubstrings = function(s) {
const expandAroundCenter = (left, right) => {
let count = 0;
while (left >= 0 && right < s.length && s[left] === s[right]) {
count++;
left--;
right++;
}
return count;
};
let totalCount = 0;
for (let i = 0; i < s.length; i++) {
totalCount += expandAroundCenter(i, i);
totalCount += expandAroundCenter(i, i + 1);
}
return totalCount;
};👉
Новости 👉
База вопросов