最小の平均を持つ部分配列を見つけるための JavaScript プログラム

WBOY
リリース: 2023-08-23 23:33:13
転載
1049 人が閲覧しました

JavaScript 程序查找平均值最小的子数组

平均値が最小となる部分配列を見つけるプログラムを作成します。これを行うには、配列を反復処理し、現在の部分配列とその合計を追跡します。要素ごとに、現在の部分配列の平均を計算し、これまでに確認した最小の平均と比較します。これより低い場合は、部分配列の最小平均値と開始インデックスと終了インデックスを更新します。反復の最後に、最小の平均を持つ部分配列を返します。

###方法###

平均が最小の部分配列を見つけるには、次の手順に従います -

    2 つの変数
  • start

    end を初期化して、部分配列の開始インデックスと終了インデックスを追跡します。

  • for

    を使用して配列をループし、現在の合計とこれまでに見つかった最小平均を追跡します。

  • 各反復で、現在の合計が最小平均と比較され、新しい最小値が見つかった場合は、
  • Start

    変数と End 変数が更新されます。

  • 現在の合計が最小平均より大きい場合は、合計が最小平均より小さくなるまで開始インデックスを前方に移動します。
  • 配列の最後に到達するまで手順 2 ~ 4 を繰り返します。
  • 最小の平均を持つサブ配列は、
  • start

    から始まり end で終わるサブ配列です。

    ###例###
  • 整数の配列が与えられた場合、最小の平均を持つ部分配列を見つけます。

これは、この問題を解決するための完全に機能する JavaScript の例です -

リーリー

イラスト

関数

findSmallestAverageSubarray
    は、整数の配列
  • arr

    と整数 k (k は部分配列) を入力として受け取ります。 関数は、最小の平均を持つ部分配列を返します。

  • minAvg
  • 変数は、浮動小数点数の可能な最大値で初期化されます。
  • minAvgStart
  • この変数は、最小の平均値を持つ部分配列の開始インデックスを格納するために使用されます。
  • windowSum
  • 変数は、現在の部分配列内の要素の合計を格納するために使用されます。
  • 外側のループ

    for (let i = 0; i 指定された配列内の反復長
  • k

    の場合 arr ### で。 内部ループfor (let j = 0; j 現在の部分配列内の要素の合計を計算するために使用されます。

  • if (i === 0)

    ブロックは、最初の部分配列の要素の合計を計算するために使用されます。
  • else

    ブロックは、残りの部分配列の要素の合計を計算するために使用されます。前の部分配列の最初の要素を減算し、現在の部分配列の最後の要素を追加します。
  • windowAvg

    変数は、現在のサブ配列の平均値を格納するために使用されます。
  • if (windowAvg ブロックは、最小平均と最小平均を持つ部分配列の開始インデックスを更新するために使用されます。

  • 最後に、関数は平均が最小の部分配列を返します。

以上が最小の平均を持つ部分配列を見つけるための JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート