题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:该题目不是下面一行每一个数字都大于上面一行的数字,1,2,3,4;2,3,4,5.
每个元素的左上角元素都小于该元素,每个元素的右下角元素都大于该元素。从矩阵的左下角开始搜索,如果m[i][j]==(直接返回),<(++j),>(--i).
func searchMatrix(matrix [][]int, target int) bool { if len(matrix) == 0 || len(matrix[0]) == 0 { return false } m, n := len(matrix) - 1, len(matrix[0]) - 1 i, j := m, 0 for i >= 0 && j <= n { if matrix[i][j] == target { return true } else if matrix[i][j] < target { j++ } else { i-- } } return false }