ホームページ  >  記事  >  ウェブフロントエンド  >  指定された数値のすべての回転が指定された数値以上であるかどうかを確認する JavaScript プログラム

指定された数値のすべての回転が指定された数値以上であるかどうかを確認する JavaScript プログラム

WBOY
WBOY転載
2023-09-08 17:49:081546ブラウズ

JavaScript 程序检查给定数字的所有旋转是否大于或等于给定数字

この記事では、JavaScript プログラムを使用して、指定された数値のすべての回転が指定された数値以上であるかどうかを確認します。アルゴリズムを作成し、実行している各ステップを説明します。これから説明するコードの時間計算量は楽観的ですが、空間計算量はコードごとに向上します。

問題の紹介

この問題では、数値が与えられており、すべての回転が現在の数値より大きいかどうかを確認する必要があります。あるいは単に現在の数値の回転が現在の数値より小さいかどうかを確認する必要があります。ローテーション内の数値の場合は false を返し、それ以外の場合は true を返します。

指定された数値の回転

###例###

指定された数値の回転には、時計回りまたは反時計回りの 2 つのタイプがあります。時計回りでは、数値の最後の桁を取り出し、最初の桁の前に追加します。例えば ​​-### リーリー

上記のコードでは、数値が与えられ、与えられた数値の最初の回転を見つける必要があります。まず、現在の数値の最後の桁を別の変数に保存し、次に指定された数値の最後の桁を 10 で割って境界を取得して削除します。

最後に、現在の数値を最後の数値の後に追加します。これにより、最初のスピンが得られます。

###例###

現在の番号の次のスピンまたは 2 番目のスピンを取得するには、最初のスピンの次のスピンを取得することも、どのスピンにも共通する別の方法で実行することもできます。見て- ### リーリー

上記のコードでは、数値が与えられ、与えられた数値の i 番目の回転を見つける必要があります。まず、現在の数値の最後の「i」桁を別の変数に保存します。

最後に、最後の "i" 数値を含む文字列に現在の数値を追加します。これにより、最初のスピンが得られます。

上で説明した方法は数値を時計回りに回転させることですが、反時計回りに回転させるには先頭から数値を選択して最後に追加する必要があります。

どの回転を選択する必要があるか指定がない場合は、時計回りを選択します。したがって、この例では時計回りの回転が見られます。

###方法###

このメソッドは総当りメソッドです。このメソッドでは、指定された数値のすべてのスピンを見つけて、それより大きな数値をすべてチェックします。現在の数値より小さい数値が見つかった場合は false を返し、それ以外の場合は true を返します。

###例###

まずコードを見て、それからコードの説明に移ります -

リーリー

上記のプログラムでは、まず for ループで 1 から数値から 1 を引いたサイズまでを反復し、1 からサイズから 1 を引いた数値までの各回転を取得します。各反復で、事前定義された関数を呼び出します。

関数では、i 番目の回転を取得します。これは関数の引数として渡され、指定された数値と比較されます。 i 番目の回転が指定された数値より小さい場合は戻り値として false を返し、それ以外の場合は true を返します。

関数から返された true 値と false 値を保存し、必要に応じて回答を出力する、answer という変数を維持します。

時間と空間の複雑さ

上記のコードでは、check() 関数を合計 n 回呼び出します。n は指定された数値のサイズです。関数内では、指定された数値のコピーである部分文字列を作成し、n 回繰り返します。これは、それを n*n 回使用することを意味します。したがって、指定された関数の時間計算量は O(N*N) になります。

チェック関数では、指定された数値のコピーを作成するたびに、余分な N 個のスペースを使用していることになります。したがって、指定された関数の空間計算量は O(N) です。

###一般的なアイデア###

上記のコードでは、すべての数値が異なる場合、時間計算量 O(N) と空間計算量 O(1) だけで答えを得ることができます。これは、いずれかの数値が最初の数値より小さい場合に意味が生じるからです。正確なスピンでは、最初の数値と比較して数値が小さくなる可能性があります。

###結論は###

このチュートリアルでは、JavaScript プログラムを使用して、指定された数値のすべての回転が指定された数値以上であるかどうかを確認します。プログラムの時間計算量は O(N*N)、空間計算量は O(N) です。ここで、N は指定された数値のサイズです。与えられた数字のすべてのスピンを見つけて元の数字と比較できるプログラムを実装しました。

以上が指定された数値のすべての回転が指定された数値以上であるかどうかを確認する JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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