题目:
解答:根据二维数组从上到下,从左从右递增的特点,我们可以从右上角出发开始比较 。
1.如果等于目标数就返回结果;
2.如果小于目标数就向下移动;
3.如果大于目标数就向左移动;
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
if (matrix.length == 0 || matrix[0].length == 0) {
return false;
}
int row = 0, column = matrix[0].length - 1;
while (row < matrix.length && column >= 0) {
int num = matrix[row][column];
if (num == target) {
return true;
} else if (num > target) {
column--;
} else {
row++;
}
}
return false;
}
}