该题目来源于牛客网《剑指offer》专题。
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
Go语言实现:
func searchMatrix(matrix [][]int, target int) bool {
if matrix == nil || len(matrix[0]) < 1 {
return false
}
row := 0
col := len(matrix[0]) - 1
//从右上角元素开始,大于目标元素则左移,小于目标元素则下移,直到找到或便利一遍为止
for row <= len(matrix) - 1 && col >= 0 {
if matrix[row][col] > target {
col --
} else if matrix[row][col] < target {
row ++
} else {
return true
}
}
return false
}