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
}
相关推荐
滴滴答滴答答1 小时前
LeetCode Hot100 之 16 合并两个有序链表
算法·leetcode·链表
圣保罗的大教堂2 小时前
leetcode 3713. 最长的平衡子串 I 中等
leetcode
女王大人万岁2 小时前
Golang标准库 CGO 介绍与使用指南
服务器·开发语言·后端·golang
愚者游世2 小时前
力扣解决二进制 | 题型常用知识点梳理
c++·程序人生·算法·leetcode·职场和发展
YuTaoShao5 小时前
【LeetCode 每日一题】3713. 最长的平衡子串 I ——(解法二)暴力枚举 + 优化
算法·leetcode·职场和发展
福大大架构师每日一题6 小时前
2026-01-15:下一个特殊回文数。用go语言,给定一个整数 n,求出一个比 n 更大的最小整数,该整数需要满足两条规则: 1. 它的十进制表示从左到右与从右到左完全一致(即读起来是对称的)。 2
python·算法·golang
Aerkui6 小时前
Go 泛型(Generics)详解
开发语言·后端·golang
clive.li6 小时前
go-webmvc框架推荐
开发语言·后端·golang
有代理ip7 小时前
常见数据采集问题及实操解决方案
爬虫·网络协议·http·golang·ssl
白中白1213810 小时前
算法题-14
数据结构·算法·leetcode