C コーダーにとって、配列内の要素の最大数と最小数の間のギャップを減らすと便利です。これにより、すべての要素にわたる価値の均一な分散が促進され、さまざまな状況で複数のメリットがもたらされる可能性があります。私たちの現在の焦点は、アレイ構造のサイズを拡大または縮小するための実践的な技術を通じて、アレイ構造内のバランスを最適化する方法にあります。
###文法###minimumDifference 関数は、配列 arr とそのサイズ n をパラメーターとして受け取ります。
###アルゴリズム###配列の最大値と最小値の間のギャップを減らすには、次の一連の手順に従ってください -
特定の要素に存在する最大値と最小値を決定するには、各値を決定して相互に比較する必要があります。
最大要素と最小要素の差を計算します。
差を 2 で割って、midDiff という変数に格納します。
配列をループし、要素ごとに次の手順を実行します -
要素が最大要素と最小要素の平均より大きい場合は、そこからmidDiffを減算します。
要素が平均より小さい場合は、midDiff だけ増加します。
私たちの目標では、上限と下限が 1 単位以下で収束または発散する状態に達するまで、手順 1 ~ 4 を中断することなく繰り返し、方法論を適用し続ける必要があります。
次に、配列内の最大要素と最小要素の差を最小限に抑える 2 つの異なる方法について説明します。 -
説明
の中国語訳は次のとおりです:素朴な方法 (方法 1 とも呼ばれます) は、最大要素と最小要素の差を減らすことで、配列内の項目間の差を最小限に抑えることを目的としています。この戦略を実行するには、次の手順が必要です。まず、元のデータ セット内のどの項目が最大値として機能するかを決定し、同時に他のどの項目が最小値を表すかを見つけます。これらのデータ セットは配列構造に保存されます。次に、では、統計的に導かれたデータ セットからこれらの最小エンティティと最大エンティティの距離を計算します。第 3 段階では、アルゴリズムによって指示された特定の条件を使用してデータ セット内のすべての要素にアクセスして更新する必要があります。これらの条件に基づいて、個々のエントリが比較されます。以前に見つかった統計的平均 (数学的平均) (ステップ I で指定された極端な最高/最低のペア) 間の差、または再スケーリングが必要なより小さい/より大きい範囲のケースで、最適な平衡状態になるまで、さまざまな割合で減少または増加します。つまり、最大/最小エンティティはお互いを超えることなく最も近くなります。
この記事の目的は、範囲内の小さい単位を優先することによって、範囲の最高値と最低値の差を減らすことに焦点を当てたアルゴリズム主導のアプローチについて説明することです。私たちの調査では、素朴戦略と並べ替え戦略という 2 つの異なる戦略を提案し、機能的なサンプル コードを使用して両方の戦略を最適に適用する方法に関する実際の使用例を読者に提供しますが、これに限定されるものではありません。これらの戦略を利用することで、配列内の要素の数を効果的に管理して、最適な値のバランスを実現できます。実装する際は、さまざまな構成を実行するときに特定のプロジェクト目標に合わせたカスタマイズが重要であることに留意してください。
以上が配列要素を 1 ずつ増減して、最大要素と最小要素の差を最小限に抑えます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。