public class Solution {
public boolean Find(int target, int [][] array) {
if (array == null || array.length == 0 || array[0].length == 0) {
return false;
}
if (target < array[0][0]) {
return false;
}
if (target > array[array.length - 1][array[0].length - 1]) {
return false;
}
int row = array.length - 1;
int col = 0;
while (col < array[0].length) {
if (array[0][col] == target || array[row][col] == target) {
return true;
}
if (array[0][col] < target && target < array[row][col]) {
break;
}
col++;
}
for (int i = col; i < array[0].length; i++) {
for (int j = 0; j <= row; j++) {
if (array[j][i] == target) {
return true;
}
}
}
return false;
}
}