whycomputer.com >> Wiedza o Internecie >  >> Oprogramowanie

Jak sprawdzić, czy łańcuch jest palindromem w Javie i Pythonie

Sprawdzanie, czy dany ciąg znaków jest palindromem, to klasyczne pytanie w rozmowach kwalifikacyjnych. Wymaga podstaw manipulacji łańcuchami oraz pętli, a jednocześnie jest na tyle krótkie, że zmieści się w typowym limicie czasu.

Co to jest palindrom?

Palindrom to słowo lub wyrażenie, które czytane od tyłu brzmi tak samo, jak czytane od przodu. Przykłady: dad, mom. Natomiast father i mother nie są palindromami. Nazwa pochodzi od greckich słów „palin” (ponownie) i „dromos” (droga) i została po raz pierwszy użyta przez Ben Jonsona w XVII wieku.

Rozwiązania

  • Najprostsze podejście polega na odwróceniu łańcucha i porównaniu go z oryginałem. Operacja odwracania ma złożoność O(n), więc całe rozwiązanie również O(n).
  • Alternatywnie można porównywać znaki od początku i od końca, przerywając w momencie pierwszej niezgodności. Formalnie złożoność to O(n/2), co w notacji dużego O również daje O(n), ale w praktyce pozwala zakończyć działanie szybciej, gdy napotkamy różnicę.

Implementacja w Pythonie

Poniżej przykład funkcji sprawdzającej palindrom w Pythonie:

def is_palindrome(s: str, case_sensitive: bool = False) -> bool:
    if not case_sensitive:
        s = s.lower()
    return s == s[::-1]

Implementacja w Javie

Przykładowa metoda w Javie:

public static boolean isPalindrome(String s, boolean caseSensitive) {
    if (!caseSensitive) {
        s = s.toLowerCase();
    }
    int i = 0, j = s.length() - 1;
    while (i < j) {
        if (s.charAt(i) != s.charAt(j)) {
            return false;
        }
        i++; j--;
    }
    return true;
}

Wskazówka

  • Upewnij się, czy rozmówca wymaga rozróżniania wielkości liter. W wersji wrażliwej na wielkość Dad nie jest palindromem, ponieważ D ≠ d.

URL:https://pl.whycomputer.com/oprogramowanie/100318763.html

Oprogramowanie
  • Jak wypłacić środki z PayPal za pomocą czeku

    Krok 1 – Zaloguj się i zamów czekZaloguj się na swoje konto PayPal, najedź kursorem na zakładkę Wypłata w menu podsumowania i wybierz opcję Poproś o czek.Krok 2 – Podaj kwotę i adres wysyłkiWprowadź żądaną kwotę w polu Kwota oraz wybierz z listy adres, na który PayPal ma wysłać czek.Krok 3 – Odbierz

  • Podstawy programowania w języku Python

    Wprowadzenie Podstawy programowania komputerowego można opanować, korzystając z języka Python, który jest dostępny bezpłatnie do pobrania na stronie python.org. Jak zacząć? Do pisania i uruchamiania kodu służy wiersz poleceń (interfejs konsolowy Pythona). Jeśli potrzebujesz wsparcia, obejrzyj darmow

  • Rozwiązywanie problemów z zewnętrznymi wejściami w telewizorach LG

    Telewizory LG wyposażone są w porty HDMI, komponentowe i kompozytowe, które umożliwiają podłączenie dekodera, odtwarzacza DVD czy konsoli do gier. Jeśli któryś z zewnętrznych sygnałów nie działa, wykonaj poniższe kroki diagnostyczne. Kroki przygotowawcze Upewnij się, że wszystkie urządzenia są pr

Wiedza o Internecie © https://pl.whycomputer.com