Leetcode 74.搜索二维矩阵

Posted kexinxin

tags:

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

搜索二维矩阵

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

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

示例 1:

输入:

matrix = [

[1, 3, 5, 7],

[10, 11, 16, 20],

[23, 30, 34, 50]

]

target = 3

输出: true

 

两次二分搜索

 1 class Solution{
 2 public:
 3     bool searchMatrix(vector<vector<int>> &matrix, int target){
 4         if (matrix.empty() || matrix[0].empty()) return false;
 5         if (target<matrix[0][0] || target>matrix.back().back()) return false;
 6         int left = 0, right = matrix.size() - 1;
 7         while (left <= right){
 8             int mid = (left + right) / 2;
 9             if (matrix[mid][0] == target) return true;
10             else if (matrix[mid][0]<target) left = mid + 1;
11             else right = mid - 1;
12         }
13         int tmp = right;
14         left = 0;
15         right = matrix[tmp].size() - 1;
16         while (left <= right){
17             int mid = (left + right) / 2;
18             if (matrix[tmp][mid] == target) return true;
19             else if (matrix[tmp][mid]<target) left = mid + 1;
20             else right = mid - 1;
21         }
22         return false;
23     }
24 };

 

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

[JavaScript 刷题] 二分搜索 - 搜索二维矩阵, leetcode 74

[JavaScript 刷题] 二分搜索 - 搜索二维矩阵, leetcode 74

[leetcode] 74. 搜索二维矩阵

Leetcode 74.搜索二维矩阵

leetcode(74)----搜索二维矩阵(二分查找)

LeetCode 74.搜索二维矩阵