ホームページ  >  記事  >  ウェブフロントエンド  >  辞書編集上最小の文字列ローテーションを見つけるための JavaScript プログラム

辞書編集上最小の文字列ローテーションを見つけるための JavaScript プログラム

WBOY
WBOY転載
2023-08-25 19:41:02976ブラウズ

JavaScript 程序查找字典顺序最小字符串旋转

JavaScript で辞書編集上最小限の文字列ローテーションを見つけます。この方法では、元の文字列をそれ自体と連結し、次に組み込みの「sort」関数を使用して、連結された文字列を昇順にソートします。最後に、元の文字列と同じ長さのソートされた連結文字列の最小の部分文字列を返します。これは、辞書編集順での最小の文字列ローテーションになります。

このロジックは、文字列操作テクニックと JavaScript で利用可能な組み込み関数を使用して実装します。実装の結果は、入力文字列の辞書編集上の最小回転を表す文字列になります。これは、文字列を効率的に比較および並べ替えるのに役立ちます。

将来的には、辞書編集上最小の文字列ローテーションをより速く、より効率的に見つけるためにアルゴリズムの改良を続けていきます。

###方法###

ここでは、5 行で辞書編集上最小の文字列ローテーションを見つける方法を説明します -

    元の文字列をそれ自体と連結して、考えられるすべての回転が確実に考慮されるようにします。
  • 次の文字と等しくない最初の文字を見つけます。これが最小回転の開始点として使用されます。
  • そのような文字が見つからない場合は、すでに最小限の回転が行われているため、元の文字列が返されます。
  • 連結された文字列内の、見つかった文字から文字列の末尾までの部分文字列を最小回転として返します。
  • 結果の部分文字列は、文字列の辞書編集上の最小の回転になります。
  • ###例###
  • 文字列の辞書編集上最小のローテーションは、元の文字列とそれ自体を連結し、元の文字列の最初の文字で始まる最小の部分文字列を見つけることによって見つけることができます。

これは JavaScript で実装された例です -

リーリー

イラスト

まず、元の文字列をそれ自体と連結して、

strDouble
    を取得します。
  • 元の文字列の長さを格納する変数

    len
  • も定義します。
  • 次に、

    strDouble
  • 内の
  • len

    の長さの最初の部分文字列、つまり strDouble > で minRotation を初期化します。 サブストリング(0, len)。これは、辞書編集上最小の文字列ローテーションを見つけるための開始点です。 次に、for ループを使用して、2 番目の文字から始まる

    strDouble
  • 内の長さ
  • len

    のすべての可能な部分文字列を反復処理します。 反復ごとに、現在の位置から開始して、

    strDouble から長さ
  • len

    の部分文字列を取得することで、現在の回転 currRotation を見つけます。 ### 私。######### currRotationminRotation より小さい場合、現在の回転で

    minRotation
  • を更新します。
  • 最後に、for ループが終了した後、辞書編集上の最小の文字列回転である minRotation の値を返します。

以上が辞書編集上最小の文字列ローテーションを見つけるための JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。