whycomputer.com >> Rangkaian komputer >  >> Perisian

Semak Jika Teks Adalah Palindrom dalam Java dan Python

Semak Jika Teks Adalah Palindrom dalam Java dan Python

Selama bertahun-tahun, soalan semak sama ada satu teks merupakan palindrom atau tidak telah menjadi soalan temuduga pengaturcaraan klasik. Ia melibatkan manipulasi dan perbandingan rentetan serta mungkin gelung, bergantung kepada implementasi. Kerana soalan ini tidak panjang, ia boleh diselesaikan dalam had masa temuduga.

Apakah Palindrom?

Menurut synonym.com, palindrom ialah “satu perkataan atau frasa yang dibaca sama bila dibaca ke hadapan atau ke belakang.” Dengan kata lain, jika anda menulis perkataan atau frasa tersebut terbalik, ia akan sama dengan penulisan asal. Contohnya, dad dan mom adalah palindrom, manakala father dan mother tidak. Kata “palindrome” berasal daripada dua perkataan Yunani: palin (semula) dan dromos (jalan atau arah). Ia pertama kali diperkenalkan oleh dramatik persemak Ben Jonson pada abad ke-17.

Penyelesaian

  • Kaedah paling biasa dan mudah ialah membalik rentetan terlebih dahulu, kemudian membandingkannya dengan asal. Pendekatan ini mempunyai kompleksiti masa O(n).
  • Alternatifnya, anda boleh bandingkan aksara satu persatu dari hujung depan dan belakang sehingga mencapai tengah. Walaupun kompleksiti masa tetap O(n), anda dapat mengembalikan false sebaik sahaja ketidakcocokan ditemui, menjadikan ia lebih cekap dalam praktik.

Implementasi Palindrom di Python

Berikut contoh kod Python yang memeriksa sama ada satu rentetan ialah palindrom:

def is_palindrome(s):
    s = s.lower()  # sesuaikan ke case-insensitive jika diperlukan
    return s == s[::-1]

# contoh penggunaan
print(is_palindrome("Dad"))   # Output: False (case-sensitive)
print(is_palindrome("dad"))   # Output: True

Implementasi Palindrom di Java

Berikut contoh kod Java yang memeriksa sama ada satu rentetan ialah palindrom:

public static boolean isPalindrome(String s) {
    s = s.toLowerCase(); // sesuaikan ke case-insensitive jika diperlukan
    int left = 0, right = s.length() - 1;
    while (left < right) {
        if (s.charAt(left) != s.charAt(right)) {
            return false;
        }
        left++;
        right--;
    }
    return true;
}

// contoh penggunaan
System.out.println(isPalindrome("Dad"));   // Output: false (case-sensitive)
System.out.println(isPalindrome("dad"));   // Output: true

Tip

  • Pastikan anda menanyakan kepada pewawancara sama ada kod harus case-sensitive atau tidak. Sebagai contoh, jika kod sensitif kepada huruf besar, Dad tidak dianggap palindrom kerana huruf pertama “D” berbeza dengan huruf terakhir “d”.

URL:https://ms.whycomputer.com/perisian/1015018763.html

Perisian
  • Cara Menyetting Tarikh dan Masa dengan Mudah

    Jika PC anda mempunyai tetapan tarikh dan masa yang tidak betul, semua fail yang anda cipta dan simpan akan menunjukkan tarikh yang salah. Berikut ialah cara paling cepat dan mudah untuk menetapkan jam serta kalendar secara manual kepada masa yang betul di Windows. Langkah 1 Di sebelah kanan Bar Tu

  • Cara Menggunakan Rekod Periksa di Quicken

    Menjejaki perbelanjaan boleh menjadi sukar. Orang ramai sering memindai kad kredit atau debit tanpa memikirkannya, apalagi merekod perbelanjaan tersebut dalam rekod cek dan mengemas kini baki. Quicken memudahkan proses ini kerana perisian berada di hujung jari anda, membolehkan anda cepat memasukkan

  • Cara Memeriksa Jarak Antar Kalimat di Microsoft Word

    Cara Memeriksa Jarak Antar Kalimat di Microsoft Word Secara lalai, pemeriksaan ejaan dan tatabahasa di Microsoft Word 2010 dan 2013 tidak mengesahkan penjarakan antar kalimat, membenarkan anda menggunakan satu atau dua jarak selepas titik tanpa memberi amaran. Untuk memastikan dokumen anda mempunyai

Rangkaian komputer © https://ms.whycomputer.com