[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;
    }
};
相关推荐
码上发达14 分钟前
状态压缩搜索解法(DFS + Dominance)
算法
颜酱17 分钟前
差分数组:高效处理数组区间批量更新的核心技巧
javascript·后端·算法
yyy(十一月限定版)27 分钟前
图论——最小生成树Kruskal算法
算法·图论
宇木灵32 分钟前
C语言基础-十一、递归与分治(完结)
c语言·开发语言·学习·算法
We་ct1 小时前
LeetCode 173. 二叉搜索树迭代器:BSTIterator类 实现与解析
前端·算法·leetcode·typescript
weixin_395448911 小时前
main.c_0222cursor
c语言·前端·算法
Zik----1 小时前
Leetcode27 —— 移除元素(双指针)
数据结构·算法
踩坑记录2 小时前
leetcode hot100 79. 单词搜索 medium 递归回溯
leetcode
陆嵩2 小时前
GMRES 方法的数学推导及其算法表示
算法·概率论·arnoldi·gmres·minres·givens·hessenberg
plus4s2 小时前
2月22日(94-96题)
算法