搜索二维矩阵

Posted wakingshaw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索二维矩阵相关的知识,希望对你有一定的参考价值。

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

Integers in each row are sorted from left to right.
The first integer of each row is greater than the last integer of the previous row.

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-a-2d-matrix
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

要求在一个二维矩阵找出目标数。借鉴其中一个题解的做法,从右上角开始遍历,目标数比右上角的数大,证明不在当前一行,行数+1;目标数比右上角的数小,证明不在当前一列,列数-1:

    public boolean searchMatrix(int[][] matrix, int target) 
        if(matrix == null || matrix.length == 0)
        
            return false;
        
        int row = 0;
        int col = matrix[0].length - 1;
        int length = matrix.length;
        while(row < length && col >= 0)
        
            if(matrix[row][col] == target)
            
                return true;
            
            else if(matrix[row][col] < target)
            
                row++;
            
            else
            
                col--;
            
        
        return false;
    

 

以上是关于搜索二维矩阵的主要内容,如果未能解决你的问题,请参考以下文章

搜索二维矩阵2

LeetCode74. 搜索二维矩阵

力扣240——搜索二维矩阵

代码题(36)— 搜索二维矩阵

搜索二维矩阵 II

Leetcode 74.搜索二维矩阵