当前位置:   article > 正文

74. 搜索二维矩阵(二分查找)_二维方阵查找

二维方阵查找

题目

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

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

示例 1:

输入:
matrix = [
  [1,   3,  5,  7],
  [10, 11, 16, 20],
  [23, 30, 34, 50]
]
target = 3
输出: true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

示例 2:

输入:
matrix = [
  [1,   3,  5,  7],
  [10, 11, 16, 20],
  [23, 30, 34, 50]
]
target = 13
输出: false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

思路

按题目所说,数组从左到右,从上到下都是有序排列的,那么我们可以通过下标映射关系将二维数组转化为逻辑上的一维数组,这个以为数组是从小到大有序排列的,所以就可直接采用经典的二分搜索,具体代码如下:

代码

class Solution {
   
    public boolean 
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/459014
推荐阅读
相关标签
  

闽ICP备14008679号