代码拉取完成,页面将自动刷新
package list
// Problem Definition: https://leetcode.cn/problems/search-a-2d-matrix-ii/
func SearchMatrix(matrix [][]int, target int) bool {
n, m := len(matrix), len(matrix[0])
i, j := 0, m-1
for i < n && j >= 0 {
switch {
case target == matrix[i][j]:
return true
case target > matrix[i][j]:
i++
default:
j--
}
}
return false
}
// Problem Definition: https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix/
func kthSmallest(matrix [][]int, k int) int {
n := len(matrix)
left, right := matrix[0][0], matrix[n-1][n-1]
for left < right {
mid := left + (right-left)/2
if check(matrix, mid, k, n) {
right = mid
} else {
left = mid + 1
}
}
return left
}
func check(matrix [][]int, mid, k, n int) bool {
i, j := n-1, 0
num := 0
for i >= 0 && j < n {
if matrix[i][j] <= mid {
num += (i + 1)
j++
} else {
i--
}
}
return num >= k
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。