## 文字列 s2 は文字列 s1 の回転バージョンですか?

Mary-Kate Olsen
リリース: 2024-10-25 07:12:29
オリジナル
176 人が閲覧しました

## Is String s2 a Rotated Version of String s1?

インタビューの質問: 文字列の回転の特定

2 つの文字列 s1 と s2 が与えられたとき、インタビュー対象者は最近、s1 がs2 の回転バージョン。回転バージョンとは、文字列が特定の位置数だけ左または右にシフトされ、その結果、同じ文字が異なる順序で含まれる新しい文字列が生成されることを指します。

簡単な解決策

この問題を解決するには、シンプルだが効果的なアプローチを使用できます。先に進む前に、両方の文字列 s1 と s2 が同じ長さであることを確認することが重要です。これが確認されたら、s1 をそれ自体と連結して、s1s1 として示される長い文字列を形成できます。

ここで、解決策の核心は、s2 が連結された文字列 s1s1 の部分文字列であるかどうかを調べることにあります。 s2 が実際に s1s1 の部分文字列である場合、これは、s2 の文字が s1s1 の連続セグメント内で見つかることを示します。したがって、本質的に文字をシフトする s1 の回転により、s2 を部分文字列として保持する新しい文字列が生成されます。

文字列 s1 = を考えてみましょう。 "stackoverflow" および s2 = "tackoverflows"。 s1 をそれ自体と連結すると、文字列 s1s1 = "stackoverflowstackoverflow" が得られます。 s2 は s1s1 の部分文字列であり、s1 と s2 が互いの回転バージョンであることを示しています。

この簡素化されたソリューションは、部分文字列検索アルゴリズムの強力な機能を活用し、文字列の回転を決定する効率的な方法を提供します。過度のループや操作を回避することで、問題を解決するための簡潔かつエレガントなアプローチを提供します。

以上が## 文字列 s2 は文字列 s1 の回転バージョンですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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