题目
/**
- @Author Tiam
- @Date 2021/12/22 13:51
- @Description: 二维数组中的查找.
- 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,
- 每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,
- 输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 0 <= n <= 1000
- 0 <= m <= 1000
*/
码子
public boolean findNumberIn2DArray1(int[][] matrix, int target) {
//高
int n = matrix.length;
//宽
int m = n == 0 ? 0 : matrix[0].length;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
//遍历每一行,因递增排序,遍历到比target大的时候,后续便没必要继续遍历了直接跳出.
if (matrix[i][j] > target) {
break;
}
if (matrix[i][j] == target) {
return true;
}
}
}
return false;
}