Java | Leetcode Java题解之第363题矩形区域不超过K的最大数值和

题目:

题解:

java 复制代码
class Solution {
    public int maxSumSubmatrix(int[][] matrix, int k) {
        int ans = Integer.MIN_VALUE;
        int m = matrix.length, n = matrix[0].length;
        for (int i = 0; i < m; ++i) { // 枚举上边界
            int[] sum = new int[n];
            for (int j = i; j < m; ++j) { // 枚举下边界
                for (int c = 0; c < n; ++c) {
                    sum[c] += matrix[j][c]; // 更新每列的元素和
                }
                TreeSet<Integer> sumSet = new TreeSet<Integer>();
                sumSet.add(0);
                int s = 0;
                for (int v : sum) {
                    s += v;
                    Integer ceil = sumSet.ceiling(s - k);
                    if (ceil != null) {
                        ans = Math.max(ans, s - ceil);
                    }
                    sumSet.add(s);
                }
            }
        }
        return ans;
    }
}
相关推荐
Faith-小浩浩几秒前
macos 多个版本的jdk
java·macos·jdk
喵手7 分钟前
Java异常处理最佳实践:如何避免捕获到不必要的异常?
java·后端·java ee
猿java19 分钟前
精通MySQL却不了解OLAP和 OLTP,正常吗?
java·后端·面试
渣哥32 分钟前
面试官:为什么阿里巴巴要重写HashMap?ConcurrentHashMap哪里不够用?
java
喵手34 分钟前
Java中的HashMap:你了解它的工作原理和最佳实践吗?
java·后端·java ee
weixin_4565881538 分钟前
【java面试day16】mysql-覆盖索引
java·mysql·面试
心月狐的流火号40 分钟前
计算机I/O模式演进与 Java NIO 直接内存
java·操作系统
猿究院-赵晨鹤44 分钟前
JVM基础知识总结
java·jvm
代码输入中...1 小时前
JVM常见面试题及答案
java·jvm·java面试·java面试题·jvm面试题