第一种 从右上或者左下开始遍历 如果target大就往下 反之往左
func findNumberIn2DArray(matrix [][]int, target int) bool {
if len(matrix) == 0 || len(matrix[0]) == 0 {
return false
}
for i, j := 0, len(matrix[0])-1; i < len(matrix) && j >= 0; {
if target < matrix[i][j] {
j--
} else if target > matrix[i][j] {
i++
} else {
return true
}
}
return false
}
第二种 暴力 不推荐
func findNumberIn2DArray(matrix [][]int, target int) bool {
for _, c := range matrix {
for _, i3 := range c {
if i3 == target {
return true
}
}
}
return false
}