题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
利用线性特性搜索。
根据题目描述,对于任何一个点,同列的上面的点必定小于该值,同行右侧的点必定大于该值。
- 从左下角开始搜索,
- 如果该点>target,那么就向上走;如果该点<target,就往右走。
package main /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param target int整型 * @param array int整型二维数组 * @return bool布尔型 */ func Find( target int , array [][]int ) bool { // write code here row, col := len(array), len(array[0]) x, y := row - 1, 0 for x >= 0 && y < col { if array[x][y] == target { return true }else if array[x][y] < target { // 往右走 y ++ }else { x -- } } return false }