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;
    }
}
相关推荐
全靠bug跑11 小时前
Spring Cache 实战:核心注解详解与缓存过期时间配置
java·redis·springcache
Swift社区11 小时前
LeetCode 465 最优账单平衡
算法·leetcode·职场和发展
聆风吟º11 小时前
【数据结构手札】空间复杂度详解:概念 | 习题
java·数据结构·算法
weixin_4450547211 小时前
力扣热题51
c++·python·算法·leetcode
计算机程序设计小李同学12 小时前
基于SpringBoot的个性化穿搭推荐及交流平台
java·spring boot·后端
是一个Bug12 小时前
50道核心JVM面试题
java·开发语言·面试
朱朱没烦恼yeye12 小时前
java基础学习
java·python·学习
她和夏天一样热12 小时前
【观后感】Java线程池实现原理及其在美团业务中的实践
java·开发语言·jvm
郑州光合科技余经理12 小时前
技术架构:上门服务APP海外版源码部署
java·大数据·开发语言·前端·架构·uni-app·php
篱笆院的狗13 小时前
Java 中的 DelayQueue 和 ScheduledThreadPool 有什么区别?
java·开发语言