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

Sprawdź, czy łańcuch jest palindromem w Javie i Pythonie

Przez lata sprawdzanie, czy ciąg jest palindromem, stało się klasycznym pytaniem z wywiadu kodowania. Dzieje się tak, ponieważ obejmuje koncepcje dotyczące manipulacji i porównywania łańcuchów, a nawet pętli w zależności od implementacji. I pytanie nie jest długie, więc można je wypełnić w ograniczonym czasie wywiadu. Ten artykuł zawiera implementację do sprawdzania, czy łańcuch jest palindromem w Javie i Pythonie.

Co to jest Palindrom?

Według synonym.com definicja palindromu to „słowo lub fraza, która odczytuje to samo do tyłu, co do przodu”. Zasadniczo oznacza to, że jeśli napiszesz słowo lub frazę w odwrotnej kolejności, będzie ono dokładnie takie samo, jak wtedy, gdy było do przodu. Na przykład tata i mama są palindromami, a ojciec i matka nie. Słowo „palindrom” pochodzi od dwóch greckich słów podstawowych: „palin” oznacza ponownie i „dromos” oznacza drogę lub kierunek. Został ukuty przez angielskiego dramaturga Bena Jonsona w XVII wieku.

Rozwiązanie


  • Najczęstszym i najłatwiejszym sposobem rozwiązania tego problemu jest odwrócenie najpierw łańcuch, a następnie porównanie go z oryginalnym łańcuchem. Podejście to będzie miało postać O (n) w notacji big-O, ponieważ odwrócenie łańcucha to O (n).


  • Innym sposobem byłoby rozpoczęcie porównywania znaków od początku i końca i kontynuowanie do momentu, aż dotrzeć do środka. To podejście ma złożoność czasową O (n /2), ale w notacji big-O nadal będzie O (n). Ale zaletą tego podejścia jest to, że możesz zwrócić False, gdy tylko natkniesz się na pierwsze niedopasowanie, podczas gdy w pierwszym podejściu, ponieważ odwrócenie ciągu jest pierwszym krokiem, złożoność czasu zawsze będzie wynosić O (n).

    Palindrom w implementacji Pythona

    Poniżej znajduje się kod do sprawdzania, czy łańcuch jest palindromem w pythonie.

    Palindrom w implementacji Java

    Poniżej znajduje się kod do sprawdzania, czy łańcuch jest palindromem w java.

    Wskazówka
    Potwierdź za pomocą ankietera, czy chcą, aby kod rozróżniał wielkość liter czy nie. Na przykład: Jeśli w kodzie rozróżniana jest wielkość liter, tata nie jest palindromem, ponieważ pierwszym znakiem jest wielkie litery „D”, a ostatnim znakiem jest małe „d”.


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

  • Oprogramowanie
    • Jak dokonać płatności czekiem z PayPal

      PayPal pozwala użytkownikom szybko wysyłać i odbierać pieniądze zarówno w przypadku transakcji osobistych, jak i biznesowych, wykorzystując ponad 117 milionów kont PayPal na całym świecie. Czy to ze sprzedaży, czy osobistego transferu środków, możesz wypłacić pieniądze z konta PayPal za pomocą przel

    • Podstawy programowania komputera

      Podstawy programowania komputerowego można ćwiczyć za pomocą Pythona, który można pobrać za darmo z python.org. Użyj wiersza poleceń, który jest interfejsem programistycznym Pythona, z pomocą programisty w tym bezpłatnym filmie na temat pomocy technicznej dla komputerów.

    • Jak rozwiązywać problemy z telewizorem LG i sprawdzić wejście zewnętrzne

      LG produkuje linię płaskich telewizorów LCD i plazmowych wyposażonych w porty HDMI, komponentowe i kompozytowe dla zewnętrznych wejść. Na przykład można podłączyć dekoder telewizji kablowej, odtwarzacz DVD i konsolę do gier wideo do telewizora LG, a następnie obracać między trzema urządzeniami zewnę

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