Pobierz aplikację
Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.
Zwróć najbardziej lewy najdłuższy palindrom tekstu do 512 punktów kodowych. Sprawdź pusty tekst, parzyste środki i remisy bez normalizacji Unicode i segmentacji grafemów.
Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.
Wybierz zgodny endpoint. Dostępne narzędzia i jakość odpowiedzi zależą od skonfigurowanego modelu i serwera.
Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
def longest_palindrome(text):
if type(text) is not str or len(text) > 512:
raise ValueError("palindrome.input")
best = (0, 0)
for center in range(len(text)):
for left, right in ((center, center), (center, center+1)):
while left >= 0 and right < len(text) and text[left] == text[right]:
stop = right+1
if stop-left > best[1]-best[0] or (stop-left == best[1]-best[0] and left < best[0]):
best = (left, stop)
left -= 1
right += 1
return text[best[0]:best[1]]
Sprawdź przed zastosowaniem. Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.