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 }