Menu
CoddyTech

Longest Palindromic Substring

Otrzymujesz ciąg s złożony z małych liter alfabetu angielskiego. Zwróć jego najdłuższy podciąg palindromiczny: najdłuższy ciąg kolejnych liter, który czyta się tak samo od początku do końca i od końca do początku. Jeśli kilka podciągów ma taką samą maksymalną długość, zwróć ten, który zaczyna się najbardziej z lewej strony.

Funkcja

longestPalindrome(s: string) → string
sstring
ciąg znaków zapisany małymi literami, którego należy szukać
Zwracastring
najdłuższy podciąg palindromiczny w s, najbardziej z lewej strony, gdy kilka ma taką samą długość

Ograniczenia

  • 1 ≤ s.length ≤ 2000
  • s zawiera wyłącznie małe litery alfabetu angielskiego.
  • Gdy kilka palindromów ma największą długość, odpowiedzią jest ten o najmniejszym indeksie początkowym.

Przykłady

Wejście
s = "bananas"
Wyjście
"anana"
Wyjaśnienie
"anana" czyta się tak samo z obu stron i ma 5 liter. Żaden dłuższy fragment nie działa: "banana" zaczyna się na b i kończy na a, "ananas" zaczyna się na a i kończy na s, a całe słowo zaczyna się na b i kończy na s.

lock icon+18 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy potrafisz znaleźć odpowiedź w czasie O(n)?

Zresetuj kod
def longestPalindrome(s):
    # Napisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

s = "bananas"

Oczekiwane

"anana"