[leetcode]kth-smallest-element-in-a-sorted-matrix 有序矩阵中第k小元素

. - 力扣(LeetCode)

复制代码
class Solution {
public:
    bool check(vector<vector<int>>& matrix, int mid, int k, int n) {
        int i = n - 1;
        int j = 0;
        int num = 0;
        while (i >= 0 && j < n) {
            if (matrix[i][j] <= mid) {
                num += i + 1;
                j++;
            } else {
                i--;
            }
        }
        return num >= k;
    }

    int kthSmallest(vector<vector<int>>& matrix, int k) {
        int n = matrix.size();
        int left = matrix[0][0];
        int right = matrix[n - 1][n - 1];
        while (left < right) {
            int mid = left + (right - left)/2;
            if (check(matrix, mid, k, n)) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        return left;
    }
};
相关推荐
Hesionberger7 小时前
动态规划与二分法破解最长递增子序列
java·数据结构·python·算法·leetcode
imuliuliang7 小时前
关于Kruskal 算法在图优化问题中的扩展应用7
算法
邓码农0077 小时前
多团队多级合规审批体系测评:5 款矩阵工具适配 MCN / 连锁企业 / 代运营合规需求对比
矩阵·新媒体运营
老约家的可汗7 小时前
Linux中基础IO
linux·服务器·算法
满怀冰雪7 小时前
第29篇-状态压缩DP-当状态很多时如何降维优化
java·算法·动态规划
令狐掌门8 小时前
2026华为OD面试题020:日志文件异常检测
算法·leetcode·华为od
炸薯条!8 小时前
从零开始学C++(4) --类和对象
开发语言·c++·算法
haluhalu.8 小时前
prompts.chat:07-few-shot-prompting
人工智能·算法
Jerry8 小时前
LeetCode 150. 逆波兰表达式求值
算法
浩瀚地学8 小时前
【面试算法笔记】0106-数组-区间和
笔记·算法·面试