Rumah > pembangunan bahagian belakang > C++ > Adakah Rentetan Putaran Lain? Pendekatan Mudah di Jawa.

Adakah Rentetan Putaran Lain? Pendekatan Mudah di Jawa.

Mary-Kate Olsen
Lepaskan: 2024-10-25 01:56:30
asal
675 orang telah melayarinya

Is a String a Rotation of Another? A Simple Approach in Java.

Cara Menentukan Sama ada Satu Rentetan Adalah Putaran Yang Lain

Dalam temu bual perisian, calon mungkin menghadapi soalan yang menarik seperti ini: diberikan dua rentetan s1 dan s2, bagaimana anda memastikan sama ada s1 ialah varian diputar bagi s2?

Sebuah rentetan diputar apabila ia telah dibelah pada titik pangsi dan kedua-dua bahagian disambung semula dalam susunan terbalik . Contohnya, "stackoverflow" boleh diputar menjadi "tackoverflows" atau "ackoverflowst".

Satu penyelesaian yang mungkin, yang dicadangkan oleh penemu duga, melibatkan mencari awalan terpanjang bagi s2 yang merupakan subrentetan s1. Ini mengenal pasti titik putaran. Setelah ditemui, s2 boleh dibahagikan kepada dua subrentetan dan diperiksa sama ada gabungannya sama dengan s1.

Walau bagaimanapun, penemuduga meminta penyelesaian yang lebih mudah. Pertimbangkan pendekatan berikut:

  • Pastikan s1 dan s2 mempunyai panjang yang sama.
  • Sahkan jika s2 wujud sebagai subrentetan dalam s1, yang dicapai dengan menggabungkan s1 dengan dirinya sendiri dan mencari s2.

Di Java, kaedah ini boleh dilaksanakan seperti berikut:

<code class="java">boolean isRotation(String s1,String s2) {
    return (s1.length() == s2.length()) &amp;&amp; ((s1+s1).indexOf(s2) != -1);
}</code>
Salin selepas log masuk

Dengan menggunakan penyambungan rentetan dan carian, penyelesaian ini dengan cekap menentukan sama ada satu rentetan ialah versi yang diputar lain.

Atas ialah kandungan terperinci Adakah Rentetan Putaran Lain? Pendekatan Mudah di Jawa.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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