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

题目:

题解:

cpp 复制代码
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) >> 1);
            if (check(matrix, mid, k, n)) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        return left;
    }
};
相关推荐
新手村领路人8 分钟前
c++ opencv调用yolo onnx文件
c++·opencv·yolo
啊森要自信10 分钟前
【QT】常⽤控件详解(六)多元素控件 QListWidget && Table Widget && Tree Widget
c语言·开发语言·c++·qt
laplaya2 小时前
高性能分布式通信框架:eCAL 介绍与应用
c++·分布式
绕灵儿3 小时前
C++ 部署LSTM(.onnx)
开发语言·c++·lstm
啊阿狸不会拉杆5 小时前
《算法导论》第 13 章 - 红黑树
数据结构·c++·算法·排序算法
qiuyunoqy5 小时前
蓝桥杯算法之搜索章 - 3
c++·算法·蓝桥杯·深度优先·dfs·剪枝
阿飞__5 小时前
Linux开发板(如RK3588)上打开摄像头设备并获取实时画面
c++·gstreamer
希望_睿智6 小时前
实战设计模式之代理模式
c++·设计模式·架构
乌萨奇也要立志学C++7 小时前
【C++详解】AVL树深度剖析与模拟实现(单旋、双旋、平衡因⼦更新、平衡检测)
c++
·前路漫漫亦灿灿7 小时前
C++-AVL树
开发语言·c++