public class Solution {
public boolean Find(int target, int [][] array) {
int row = array.length;
if(row == 0) {
return false;
}
int col = array[0].length;
if(col == 0) {
return false;
}
// 最右上角的位置
int r = 0, c = col - 1;
// 从右上开始向右下对比
while(r < row && c >= 0) {
if(target == array[r][c]) {
return true;
} else if(target > array[r][c]) {
// 说明目标值在[r][c]的下边
++r;
} else {
// 说明目标值在[r][c]的左边
--c;
}
}
return false;
}
}
京公网安备 11010502036488号