愛在花開的季節 发表于 2024-8-29 07:34:28

Golang | Leetcode Golang题解之第378题有序矩阵中第K小的元素

题目:
https://i-blog.csdnimg.cn/direct/6b04edeb130547a688d509c8650d2ce3.png
题解:
func kthSmallest(matrix [][]int, k int) int {
    n := len(matrix)
    left, right := matrix, matrix
    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 <= mid {
            num += i + 1
            j++
      } else {
            i--
      }
    }
    return num >= k
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Golang | Leetcode Golang题解之第378题有序矩阵中第K小的元素