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

题目:

题解:

Go 复制代码
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
}
相关推荐
He1955019 分钟前
Go初级之十:错误处理与程序健壮性
开发语言·python·golang
一支鱼16 分钟前
leetcode常用解题方案总结
前端·算法·leetcode
吃着火锅x唱着歌1 小时前
LeetCode 1537.最大得分
算法·leetcode·职场和发展
不会吃萝卜的兔子1 小时前
go webrtc - 1 go基本概念
开发语言·golang·webrtc
j_xxx404_4 小时前
数据结构:栈和队列力扣算法题
c语言·数据结构·算法·leetcode·链表
Lris-KK4 小时前
【Leetcode】高频SQL基础题--180.连续出现的数字
sql·leetcode
珍珠是蚌的眼泪4 小时前
LeetCode_位运算
leetcode·位运算·异或·韩明距离·数字的补数
野犬寒鸦4 小时前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
墨染点香4 小时前
LeetCode 刷题【61. 旋转链表】
算法·leetcode·职场和发展
岁忧5 小时前
(LeetCode 面试经典 150 题) 200. 岛屿数量(深度优先搜索dfs || 广度优先搜索bfs)
java·c++·leetcode·面试·go·深度优先