剑指offer 面试题04. 二维数组中的查找(简单)

在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
 
示例:
现有矩阵 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。
给定 target = 20,返回 false。
 
限制:
0 <= n <= 1000
0 <= m <= 1000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof
matrix.size()和matrix[0].size() 可以类比 int m[10][20],matrix.size()读的是10,matrix[0].size()读的是20
 1 class Solution {
 2 public:
 3     bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
 4         if(matrix.empty()) return false;
 5         int n=matrix.size(),m=matrix[0].size();
 6         //n是行数,m是列数
 7         for(int i=0;i<n;i++)
 8             for(int j=0;j<m;j++)
 9             {
10                 if(matrix[i][j]>target) break;
11                 if(matrix[i][j]==target) return true;
12             }
13         return false;
14     }
15 };
原文地址:https://www.cnblogs.com/Annetree/p/13040380.html