796. Putar Rentetan
Kesukaran: Mudah
Topik: Rentetan, Padanan Rentetan
Diberi dua rentetan s dan gol, kembalikan benar jika dan hanya jika s boleh menjadi gol selepas beberapa anjakan pada s.
A anjakan pada s terdiri daripada mengalihkan aksara paling kiri s ke kedudukan paling kanan.
Contoh 1:
Contoh 2:
Kekangan:
Penyelesaian:
Kita boleh memanfaatkan sifat penyambungan rentetan. Khususnya, jika kita menggabungkan rentetan s dengan dirinya sendiri (iaitu, s s), semua kemungkinan putaran s akan muncul sebagai subrentetan dalam rentetan bercantum itu. Ini membolehkan kami menyemak sama ada matlamat ialah subrentetan s s.
Mari laksanakan penyelesaian ini dalam PHP: 796. Putar Rentetan
Penjelasan:
Semakan Panjang: Kami mula-mula menyemak sama ada panjang s dan gol adalah sama. Jika tidak, kami segera membalas palsu, kerana mustahil untuk s diubah menjadi gol.
Penggabungan: Kami menggabungkan rentetan s dengan dirinya sendiri untuk mencipta doubleS.
Semakan Subrentetan: Kami menggunakan fungsi strpos() untuk menyemak sama ada matlamat wujud sebagai subrentetan dalam doubleS. Jika ia berlaku, kami kembali benar; jika tidak, kami membalas palsu.
Kerumitan:
Penyelesaian ini dengan cekap menentukan sama ada satu rentetan boleh menjadi satu lagi melalui putaran.
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 . Putar Rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!