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

题目:

题解:

python 复制代码
class Solution:
    def kthSmallest(self, matrix: List[List[int]], k: int) -> int:
        n = len(matrix)

        def check(mid):
            i, j = n - 1, 0
            num = 0
            while i >= 0 and j < n:
                if matrix[i][j] <= mid:
                    num += i + 1
                    j += 1
                else:
                    i -= 1
            return num >= k

        left, right = matrix[0][0], matrix[-1][-1]
        while left < right:
            mid = (left + right) // 2
            if check(mid):
                right = mid
            else:
                left = mid + 1
        
        return left
相关推荐
会发paper的学渣9 分钟前
python 单例模式实现
开发语言·python·单例模式
学步_技术17 分钟前
Python编码系列—Python桥接模式:连接抽象与实现的桥梁
开发语言·python·桥接模式
柴华松19 分钟前
GPU训练代码
开发语言·python
戊子仲秋22 分钟前
【LeetCode】每日一题 2024_9_19 最长的字母序连续子字符串的长度(字符串,双指针)
算法·leetcode·职场和发展
Echo_Lee028 分钟前
C#与Python脚本使用共享内存通信
开发语言·python·c#
python之行38 分钟前
python 环境问题
开发语言·python
hakesashou1 小时前
python怎么写csv文件
开发语言·python
欧阳枫落1 小时前
pip 换源
开发语言·python·pip
学步_技术2 小时前
Python编码系列—Python组合模式:构建灵活的对象组合
开发语言·python·组合模式