当前位置: 首页 > article >正文

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

题目:

题解:

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;
    }
};


http://www.kler.cn/a/281094.html

相关文章:

  • docker compose用法详解
  • C++ | Leetcode C++题解之第355题设计推特
  • 数据结构——快速排序
  • 如何使用IDEA搭建Mybatis框架环境(详细教程)
  • Code Practice Journal | Day 56_Graph06
  • 第三方软件测评中心分享:科技成果鉴定测试的必要性和流程
  • SQL数据完整性的守护者:主键与唯一键的精妙应用
  • Elasticsearch的部署和使用
  • WPF 界面缓存优化
  • Beyond Compare忽略特定格式文本,忽略匹配正则表达式
  • 摄影灯驱动方式主要有哪些?采用恒流模式还是恒压模式?升压芯片电路还是降压芯片电路?一对多还是多对多?雅欣神助攻零成本解决所有疑惑
  • Ruff :是一个用Rust编写的极快的 Python linter 和代码格式化程序
  • 武器弹药制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
  • 跨主机容器之间的通讯
  • True XML cookbook
  • 如何使用ssm实现视频点播系统设计与实现+vue
  • Blender小凳子其它细节调整优化
  • 【Docker项目实战】使用Docker部署webtop桌面版Linux环境
  • MS sqlserver备份软件 SQLBackupAndFTP
  • Spring MVC常用注解及用法