JavaScript プログラムのダブル ポインター テクノロジは、線形時間計算量を必要とするさまざまな問題を解決するためによく使用されるアルゴリズム手法です。この手法は、配列、文字列、またはリンク リストを検索、並べ替え、または操作する問題の解決に広く使用されています。この方法は、2 つのポインターを維持し、1 つはデータ構造の先頭から開始し、もう 1 つはデータ構造の末尾から開始し、解が見つかるまで逆方向に反復処理することによって機能します。
このチュートリアルでは、ダブル ポインター テクノロジの概念と、JavaScript プログラミング言語を使用してそれを実装する方法について説明します。それでは、まず問題文から始めて、それからこの楽しいチュートリアルを進めてみましょう。
###問題文###次に、いくつかの例を通して上記のプログラムの役割を理解しましょう。
リーリー 説明-この場合、入力配列の要素ペア(3, 9)が追加されて目標合計が12になり、プログラムはインデックス1と4の要素ペアを正しく識別します。 リーリー
説明-この場合、ターゲット合計が9の場合、そのようなペアは存在せず、関数は「ペアが見つかりません」を返す必要があります。 ###アルゴリズム### ダブル ポインター トリックを使用して、ソートされた配列内に合計が指定されたターゲット値に等しい要素のペアがあるかどうかを検出するアルゴリズム -
2 つのポインターを左 = 0、右 = 配列の長さ - 1 で初期化します。
左辺が右辺より小さい場合は、次の操作を実行します
インデックスの左右の要素の合計を計算します。
合計がターゲット値と等しい場合は、左のインデックスと右のインデックスを返します。
合計が目標値より小さい場合は、左を増やします。
合計が目標値より大きい場合は、右側を減らします。
上記のアルゴリズムは、ダブル ポインター テクノロジを使用して、並べ替えられた配列内の要素のペアを検索し、それらの合計が指定されたターゲット値と等しくなるようにします。ポインタは配列のどちらかの端から始まり、ポインタの要素の合計がターゲット値とどのように比較されるかに基づいて、互いに向かって移動します。合計が目標値より小さい場合は、左ポインタを右に移動して合計を増やします。合計が目標値より大きい場合は、右ポインタを左に移動して合計を減らします。合計がターゲット値と等しい場合、プログラムは要素のペアのインデックスを返します。そのような要素のペアが存在しない場合、プログラムは「ペアが見つかりません」を返します。
Example
の中国語訳は次のとおりです:Example
以上がツーポインタトリックJavaScriptプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。