Rumah >pembangunan bahagian belakang >tutorial php >Jadikan Rentetan Susunan Menggunakan Penambahan Kitaran
2825. Jadikan Rentetan Susunan Menggunakan Penambahan Kitaran
Kesukaran: Sederhana
Topik: Dua Penunjuk, Rentetan
Anda diberi dua 0-diindeks rentetan str1 dan str2.
Dalam operasi, anda memilih set indeks dalam str1, dan untuk setiap indeks i dalam set, naikkan str1[i] kepada aksara seterusnya secara kitaran. Iaitu 'a' menjadi 'b', 'b' menjadi 'c', dan seterusnya, dan 'z' menjadi 'a'.
Kembalikan benar jika boleh menjadikan str2 susulan str1 dengan melakukan operasi paling banyak sekali dan palsu sebaliknya.
Nota: Susunan rentetan ialah rentetan baharu yang terbentuk daripada rentetan asal dengan memadamkan beberapa (mungkin tiada) aksara tanpa mengganggu kedudukan relatif aksara yang tinggal.
Contoh 1:
Contoh 2:
Contoh 3:
Kekangan:
Petunjuk:
Penyelesaian:
Kita perlu menyemak sama ada kita boleh menjadikan str2 urutan str1 dengan melakukan paling banyak satu operasi kenaikan kitaran pada mana-mana aksara dalam str1:
Mari laksanakan penyelesaian ini dalam PHP: 2825. Jadikan Rentetan Susulan Menggunakan Penambahan Kitaran
Penjelasan:
- Dua Penunjuk: i dan j dimulakan pada permulaan str1 dan str2, masing-masing.
- Logik Pemadanan: Di dalam gelung, kami menyemak sama ada aksara di str1[i] dan str2[j] adalah sama atau jika kami boleh menambah str1[i] untuk memadankan str2[j] secara kitaran.
- Keadaan kenaikan kitaran dikendalikan menggunakan (ord($str1[$i]) 1 - ord('a')) % 26 yang menyemak sama ada str1[i] boleh dinaikkan agar sepadan dengan str2[j].
- Semakan Susulan: Jika kita telah melelar melalui str2 sepenuhnya (iaitu, j == m), ini bermakna str2 ialah susulan daripada str1. Jika tidak, tidak.
Kerumitan Masa:
Penyelesaian ini dengan cekap memeriksa sama ada mungkin untuk menjadikan str2 urutan str1 dengan paling banyak satu operasi kenaikan kitaran.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci Jadikan Rentetan Susunan Menggunakan Penambahan Kitaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!