package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param target int整型
* @param array int整型二维数组
* @return bool布尔型
*/
func Find(target int, array [][]int) bool {
// write code here
// 左上与右下必定为最小值与最大值
// 左下元素大于它上方的元素,小于它右方的元素,右上元素与之相反
m := len(array[0])
n := len(array)
if n == 0 || m == 0 {
return false
}
// 从最左下角的元素开始往右或往上
for down, r := n-1, 0; down >= 0 && r < m; {
if array[down][r] > target {
down--
} else if array[down][r] < target {
r++
} else {
return true
}
}
return false
}

京公网安备 11010502036488号