leetcode 240. 2 차원 매트릭스 검색 II

4284 단어 LeetCode
제목 링크: 240. 2 차원 매트릭스 검색 II
m x n 매트릭스 matrix 의 목표 값 target 을 검색 하기 위해 효율 적 인 알고리즘 을 만 듭 니 다.이 행렬 은 다음 과 같은 특성 을 가지 고 있다.
각 줄 의 요 소 는 왼쪽 에서 오른쪽으로 오름차 순 으로 배열 되 어 있다.각 열의 요 소 는 위 에서 아래로 오름차 순 으로 배열 된다.
예시:
현재 매트릭스 매트릭스 행렬 은 다음 과 같 습 니 다.
[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ]
주어진 target = 5, true 로 돌아 갑 니 다.
target = 20 을 지정 하고 false 를 되 돌려 줍 니 다.
프로그램 설명:
방법 1: 이분법, 줄 마다 2 분 검색.
방법 2: 행렬 의 오른쪽 상단 부터 이 값 이 target 보다 크 면 왼쪽으로 가 고 target 보다 작 으 면 아래로 내 려 갑 니 다.
코드 는 다음 과 같 습 니 다:
//   
class Solution {
    public boolean searchMatrix(int[][] matrix, int target) {
        if(matrix.length == 0 || matrix[0].length == 0)
            return false;
        int row = 0, col = matrix[0].length - 1;
        while(row < matrix.length && col >= 0) {
            if(target == matrix[row][col])
                return true;
            else if(target > matrix[row][col])
                row++;
            else    
                col--;
        }
        return false;
    }
}

좋은 웹페이지 즐겨찾기