ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript での 2 次元配列の検索 (コード例)

JavaScript での 2 次元配列の検索 (コード例)

不言
不言転載
2019-01-07 09:36:546666ブラウズ

この記事の内容は JavaScript での 2 次元配列の検索に関するものです (コード例)。必要な方は参考にしていただければ幸いです。

2 次元配列 (各 1 次元配列は同じ長さ) では、各行は左から右へ昇順に並べ替えられ、各列は上から右へ昇順に並べ替えられます。並べ替えます。関数を完成させ、二次元配列と整数を入力し、配列に整数が含まれているかどうかを判定してください。

基本的な考え方

2 次元配列は、次のデータのように順序付けされます。

1 2 3
4 5 6
7 8 9

下位の数値を直接使用できます。左隅から検索を開始します:

より大きい: 比較して上にシフト

未満: 比較して右にシフト

コードのアイデア

2 次元配列を平面座標系として扱います

左下隅 (0, arr.length-1) から比較を開始します:

ターゲット値の方が大きいです座標値よりも小さいです---x 座標 1

ターゲット値は座標値よりも小さいです--y 座標-1

注:

この 2 つは、次元配列 arri、

j は x 座標を表します。

i は y 座標を表します

Code

    function Find(target, array) {
      let i = array.length - 1; // y坐标
      let j = 0; // x坐标
      return compare(target, array, i, j);
    }

    function compare(target, array, i, j) {
      if (array[i] === undefined || array[i][j] === undefined) {
        return false;
      }
      const temp = array[i][j];
      if (target === temp) {
        return true;
      }
      else if (target > temp) {
        return compare(target, array, i, j+1);
      }
      else if (target < temp) {
        return compare(target, array, i-1, j);
      }
    }

Expansion : 二分探索

二分探索の条件は整っていなければなりません。

線形テーブルの中点の値と比較し、値が小さい場合は、小さいシーケンスで検索を続け、同じ値が見つかるまで再帰します。

rreeee

以上がJavaScript での 2 次元配列の検索 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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