给定一个的整形矩阵matrix和一个整数K, matrix的每一行和每一列都是排好序的。
实现一个函数,判断K是否在matrix中
[要求]
时间复杂度为,额外空间复杂度为。
第一行有三个整数N, M, K
接下来N行,每行M个整数为输入的矩阵
若K存在于矩阵中输出"Yes",否则输出"No"
2 4 5 1 2 3 4 2 4 5 6
Yes
2 4 233 1 2 3 4 2 4 5 6
No
package main import ( "fmt" ) func main() { var ( N int M int K int n int ) fmt.Scan(&N,&M,&K) nums := make([][]int,N) for i:=0;i<N;i++ { nums[i] = make([]int,M) for j:=0;j<M;j++ { fmt.Scan(&n) nums[i][j] = n } } result := find(nums,K) fmt.Println(result) } func find(nums [][]int,target int) string { rows,cols := len(nums), len(nums[0]) row, col := 0,cols-1 for row = 0 { if nums[row][col] == target { return "Yes" } else if nums[row][col] > target { col -- } else { row++ } } return "No" }