import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param target int整型
* @param array int整型二维数组
* @return bool布尔型
*/
public boolean Find (int target, int[][] array) {
// write code here
// 解题思路:由题可知从左到右升序,从上到下升序
// 因此从左下角开始比较,比它大的元素肯定在它的右边
// 比它小的元素在它的上面,依次比较,只到出界
if (array == null || array.length == 0
|| array[0].length == 0) {
return false;
}
int h = array.length;
int l = array[0].length;
int ch = array.length - 1;
int cl = 0;
while (ch >= 0 && cl < l) {
int val = array[ch][cl];
if (val == target) {
return true;
}
if (val > target) {
ch--;
}
if (val < target) {
cl++;
}
}
return false;
}
}