文字列は別の文字列の回転ですか? Java でのシンプルなアプローチ。

Mary-Kate Olsen
リリース: 2024-10-25 01:56:30
オリジナル
567 人が閲覧しました

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

ある文字列が別の文字列の回転であるかどうかを判断する方法

ソフトウェアの面接では、候補者は次のような興味深い質問に遭遇することがあります。2 つの文字列が与えられたとします。 s1 と s2、s1 が s2 の 回転 バリアントかどうかはどうやって確認しますか?

ピボット ポイントで分割され、2 つの半分が逆の順序で再接続されると、文字列が回転します。 。たとえば、「stackoverflow」は、「tackoverflows」または「ackoverflowst」になるように回転できます。

インタビュー対象者が提案した、考えられる解決策の 1 つは、s1 の部分文字列である s2 の最長のプレフィックスを見つけることです。これにより回転点が特定されます。見つかったら、s2 を 2 つの部分文字列に分割し、それらの連結が s1 と等しいかどうかを確認できます。

しかし、インタビュアーは、より単純な解決策を要求しました。次のアプローチを検討してください。

  • s1 と s2 が同じ長さであることを確認します。
  • s2 が s1 内の部分文字列として存在するかどうかを確認します。これは、s1 をそれ自体と連結し、 s2.

Java では、このメソッドは次のように実装できます。

<code class="java">boolean isRotation(String s1,String s2) {
    return (s1.length() == s2.length()) &amp;&amp; ((s1+s1).indexOf(s2) != -1);
}</code>
ログイン後にコピー

このソリューションは、文字列の連結と検索を使用することで、1 つの文字列がローテーションされたバージョンであるかどうかを効率的に判断します。別の。

以上が文字列は別の文字列の回転ですか? Java でのシンプルなアプローチ。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!