package main import "fmt" func main() { var matrix = [][]int{ {1, 4, 7, 11, 15}, {2, 5, 8, 12, 19}, {3, 6, 9, 16, 22}, {10, 13, 14, 17, 24}, {18, 21, 23, 26, 30}, } // var matrix = [][]int {{-1, 3}} var find = searchMatrix(matrix, 20) fmt.Println(find) } func searchMatrix(matrix [][]int, target int) bool { var m = len(matrix) var n = len(matrix[0]) var i, j int = m - 1, 0 var min int = matrix[0][0] if min > target { return false } else if min == target { return true } var find bool = false for i >= 0 && j <= n-1 { if target < matrix[i][j] { i-- } else if target > matrix[i][j] { j++ } else { find = true break } } return find }