. Putar Rentetan

Linda Hamilton
Lepaskan: 2024-11-04 12:37:02
asal
463 orang telah melayarinya

. Rotate String

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.

  • Sebagai contoh, jika s = "abcde", maka ia akan menjadi "bcdea" selepas satu syif.

Contoh 1:

  • Input: s = "abcde", matlamat = "cdeab"
  • Output: benar

Contoh 2:

  • Input: s = "abcde", matlamat = "abced"
  • Output: palsu

Kekangan:

  • 1 <= s.panjang, matlamat.panjang <= 100
  • s dan matlamat terdiri daripada huruf kecil Inggeris.

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:

  1. 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.

  2. Penggabungan: Kami menggabungkan rentetan s dengan dirinya sendiri untuk mencipta doubleS.

  3. 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:

  • Kerumitan Masa: O(n), dengan n ialah panjang rentetan, disebabkan carian penyatuan dan subrentetan.
  • Kerumitan Angkasa: O(n) untuk rentetan bercantum.

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:

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci . Putar Rentetan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan