JavaScript에서 2차원 배열 검색(코드 예)

不言
풀어 주다: 2019-01-07 10:17:21
앞으로
6623명이 탐색했습니다.

이 글의 내용은 자바스크립트(코드 예제)에서 2차원 배열을 검색하는 내용입니다. 참고할만한 가치가 있으니 도움이 필요한 분들에게 도움이 되었으면 좋겠습니다.

2차원 배열(각각의 1차원 배열은 길이가 동일)에서는 각 행은 왼쪽에서 오른쪽으로 오름차순으로 정렬되고, 각 열은 위에서 아래로 오름차순으로 정렬됩니다. 함수를 완성하고, 이러한 2차원 배열과 정수를 입력하고, 배열에 정수가 포함되어 있는지 확인하세요.

기본 아이디어

2차원 배열은 다음 데이터와 같이 정렬됩니다.

1 2 3
4 5 6
7 8 9
로그인 후 복사

왼쪽 하단에 있는 숫자를 직접 사용하여 검색을 시작할 수 있습니다.

보다 큼: 비교

덜 than: 오른쪽 비교

코드 아이디어

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);
      }
    }
로그인 후 복사

확장: 이진 검색

이진 검색 조건은 순서대로 이루어져야 한다는 것입니다.

선형 테이블의 중간점 값과 비교해보세요. 작다면 계속해서 작은 순서로 검색하고, 같은 값을 찾을 때까지 반복하세요.

rreee

위 내용은 JavaScript에서 2차원 배열 검색(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!