Vitajte na [www.pocitac.win] Obľúbené stránky
V priebehu rokov sa kontrola toho, či je reťazec palindrómom alebo nie, stala klasickou otázkou v otázke kódovacieho rozhovoru. Je to preto, že zahŕňa koncepcie okolo manipulácie a porovnávania reťazcov a dokonca aj slučiek v závislosti od implementácie. Otázka nie je zdĺhavá, takže ju možno dokončiť v časovom rámci rozhovoru. Tento článok obsahuje implementáciu na kontrolu toho, či je reťazec palindróm v jave a pythone.
Čo je palindróm?
Podľa synonym.com je definícia palindrómu „slovo alebo fráza, ktorá znie to isté ako vpred.“ V podstate to znamená, že ak napíšete slovo alebo frázu opačne, bude to presne také isté, ako keď sa posúvalo dopredu. Napríklad otec a mama sú palindrómy a otec a matka nie sú. Slovo „palindróm“ pochádza z dvoch gréckych koreňových slov, „palin“ opäť znamená a „dromos“ znamená spôsob alebo smer. Bola vytvorená anglickým dramatikom Benom Jonsonom v 17. storočí.
Riešenie
Najbežnejším a najjednoduchším spôsobom riešenia otázky je obrátenie najprv porovnajte s pôvodným reťazcom. Tento prístup bude O (n) v notácii big-O, pretože obrátenie reťazca je O (n).
Ďalším spôsobom by bolo začať porovnávať znaky od začiatku a konca a pokračovať až do vás. dostať sa do stredu. Tento prístup má časovú zložitosť O (n /2), ale vo veľkej notácii bude stále O (n). Výhodou tohto prístupu je však to, že sa môžete vrátiť falošne hneď, ako narazíte na prvý nesúlad, zatiaľ čo pri prvom prístupe, pretože obrátenie reťazca je prvým krokom, časová zložitosť bude vždy O (n).
Palindróm v implementácii Pythonu
Nasleduje kód na overenie, či je reťazec v pythone palindróm.
Palindróm v implementácii Java
Nasleduje kód na overenie, či je reťazec v java palindróm.
Tip
Ak chcete, aby kód rozlišoval malé a veľké písmená, potvrďte ho. Napríklad: Ak kód rozlišuje veľké a malé písmená, otec nie je palindróm, pretože prvý znak je veľké písmeno „D“ a posledný znak je malé písmeno „d“.
Copyright © počítačové znalosti Všetky práva vyhradené