이 글의 내용은 자바스크립트(코드 예제)에서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!