题目链接:https://leetcode.com/problems/search-a-2d-matrix-ii/description/

题目大意:一个矩阵,每行从左到右,数值以升序排列;每列从上到下,数值以升序排列。从这个矩阵中找到是否有target数值存在,如果有返回true,否则返回false。

解法一:利用74题的解法一,逐一的对每一行进行二分查找操作。代码如下(耗时15ms):

 1     public boolean searchMatrix(int[][] matrix, int target) {
 2         if(matrix == null || matrix.length == 0 || matrix[0].length == 0) {
 3             return false;
 4         }
 5         //逐一查找每一行
 6         for(int i = 0; i < matrix.length; i++) {
 7             //二分查找
 8             int low = 0, high = matrix[i].length - 1;
 9             while(low <= high) {
10                 int mid = (low + high) / 2;
11                 if(matrix[i][mid] < target) {
12                     low = mid + 1;
13                 }
14                 else if(matrix[i][mid]> target) {
15                     high = mid - 1;
16                 }
17                 else {
18                     return true;
19                 }
20             }
21         }
22         return false;
23     }
View Code

相关文章:

  • 2021-10-03
  • 2022-12-23
  • 2021-05-02
  • 2021-04-13
  • 2021-08-15
  • 2021-07-25
  • 2022-02-28
猜你喜欢
  • 2021-11-18
相关资源
相似解决方案