240. 搜索二维矩阵 II

Posted hequnwang10

tags:

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

一、题目描述

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。
  • 每列的元素从上到下升序排列。
示例 1:

输入:matrix = [[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
示例 2:

输入:matrix = [[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 = 20
输出:false

二、解题

Z形查找

从第一行的末尾查找。

class Solution 
    public boolean searchMatrix(int[][] matrix, int target) 
        //Z形查找
        //先从第一行最后一个数值查找
        int m = matrix.length,n = matrix[0].length;
        int x = 0,y = n-1;
        while(x<m && y>=0)
            //终止条件
            if(matrix[x][y] == target)
                return true;
            
            //如果不相等 则继续查找
            if(matrix[x][y] > target)
                y--;
            else
                x++;
            
        
        return false;
    

时间复杂度:O(m + n)
空间复杂度:O(1)

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

240. 搜索二维矩阵 II

240. 搜索二维矩阵 II

LeetCode每日一题:240搜索二维矩阵II

题目地址(2d-matrix-ii/“>240. 搜索二维矩阵 II)

[LeetCode] 240. 搜索二维矩阵 II ☆☆☆(二分查找类似)

240 Search a 2D Matrix II 搜索二维矩阵 II