74. 搜索二维矩阵-Z形查找

Posted hequnwang10

tags:

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

一、题目描述

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。
示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true
示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

二、解题

Z形查找

如果一层一层遍历的话,比较费时,从左下角开始查找,可以快速的定位。

class Solution 
    public boolean searchMatrix(int[][] matrix, int target) 
        //Z形查找 从后往前找
        int m = matrix.length,n = matrix[0].length;

        int i = m-1,j = 0;
        while(i >=0 && j <n)
            if(matrix[i][j] == target)
                return true;
            else if(matrix[i][j] < target)
                j++;
            else
                i--;
            
        
        return false;
    

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

LeetCode: 74. 搜索二维矩阵(二分查找)

[LeetCode] 74. 搜索二维矩阵 ☆☆☆(二分查找)

LeetCode74. 搜索二维矩阵

Leetcode No.74 搜索二维矩阵(二分查找)

Leetcode 74.搜索二维矩阵

LeetCode74. 搜索二维矩阵