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

题目:

题解:

java 复制代码
class Solution {
    public int kthSmallest(int[][] matrix, int k) {
        int n = matrix.length;
        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;
    }

    public boolean check(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;
    }
}
相关推荐
cike_y几秒前
JavaWeb之过滤器Filter&监听器
java·servlet·javaweb
多则惑少则明1 分钟前
SpringAI框架接入-jdk升级21后报错“run failed: Unsupported class file major version 65”
java·后端·spring·springai
uup5 分钟前
线程池中任务堆积与饥饿死锁问题
java
yaoh.wang8 分钟前
力扣(LeetCode) 9: 回文数 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
deng-c-f9 分钟前
C/C++内置库函数(2):智能指针
java·c语言·c++
毕设源码-朱学姐10 分钟前
【开题答辩全过程】以 基于SSM框架的餐厅点餐系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
pursue.dreams10 分钟前
Java实现企业微信机器人消息推送:文本消息与文件推送完整指南
java·机器人·企业微信
小年糕是糕手10 分钟前
【C/C++刷题集】类和对象算法题(一)
数据结构·c++·程序人生·考研·算法·leetcode·改行学it
狂奔小菜鸡10 分钟前
Day30 | Java集合框架之Collections工具类
java·后端·java ee
Java天梯之路11 分钟前
Spring Boot 钩子全集实战(二):`SpringApplicationRunListener.starting()` 详解
java·spring·面试