题目
分析
从右上角开始查找,对有序数组,要敏感
代码
class Solution {
public boolean findNumberIn2DArray(int[][] matrix, int target) {
if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
return false;
}
//右上角开始二分查找
int nx_ing = 0;
int ny_ing = matrix[0].length - 1;
while (nx_ing < matrix.length && ny_ing >= 0) {
int num = matrix[nx_ing][ny_ing];
if (target == num) {
return true;
}else if (num > target) {
ny_ing--;
}else {
nx_ing++;
}
}
return false;
}
}