力扣(LeetCode)363. 矩形区域不超过 K 的最大数值和(2022.12.30)

news/2024/12/5 12:05:31/

给你一个 m x n 的矩阵 matrix 和一个整数 k ,找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。

题目数据保证总会存在一个数值和不超过 k 的矩形区域。

示例 1:
在这里插入图片描述

输入:matrix = [[1,0,1],[0,-2,3]], k = 2
输出:2

解释:

蓝色边框圈出来的矩形区域 [[0, 1], [-2, 3]] 的数值和是 2,且 2 是不超过 k 的最大数字(k = 2)。

示例 2:

输入:matrix = [[2,2,-1]], k = 3
输出:3

提示:

m == matrix.length
n == matrix[i].length
1 <= m, n <= 100
-100 <= matrix[i][j] <= 100
-105 <= k <= 105

进阶:

如果行数远大于列数,该如何设计解决方案?

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/max-sum-of-rectangle-no-larger-than-k

方法一:有序集合

C++提交内容:

class Solution {
public:int maxSumSubmatrix(vector<vector<int>> &matrix, int k) {int ans = INT_MIN;int m = matrix.size(), n = matrix[0].size();for (int i = 0; i < m; ++i) { // 枚举上边界vector<int> sum(n);for (int j = i; j < m; ++j) { // 枚举下边界for (int c = 0; c < n; ++c) {sum[c] += matrix[j][c]; // 更新每列的元素和}set<int> sumSet{0};int s = 0;for (int v : sum) {s += v;auto lb = sumSet.lower_bound(s - k);if (lb != sumSet.end()) {ans = max(ans, s - *lb);}sumSet.insert(s);}}}return ans;}
};

http://www.ppmy.cn/news/7946.html

相关文章

UE4 SoundCue声音节点总结

最近撸了一下音效&#xff0c;做个总结Mark一下&#xff1a; 1.Cue文件&#xff1a;音频序列化文件&#xff0c;能够对多个音频文件进行排序、组合、淡入淡出等操作&#xff0c;做出新的音频文件 2.Cue文件中的“声音节点” 2.1按参数交叉淡化&#xff1a; 节点及参数详解&…

【数组】leetcode704.二分查找(C/C++/Java/Js)

leetcode704.二分查找1 题目2 思路2.1 二分法区间--左闭右闭写法2.2 二分法区间--左闭右开写法3 代码&#xff08;均使用左闭右闭&#xff09;3.1 Java版本3.2 C版本3.3 C版本3.4 JavaScript版本4 小结1 题目 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nu…

【基础强训】day4

一、选择题 &#x1f308;第1题 有以下程序 #include<iostream> #include<cstdio> using namespace std; int main(){ int m0123, n123; printf("%o %o\n", m, n); return 0; } 程序运行后的输出结果是&#xff08;&#xff09; A 0123 0173 B 01…

vscode+opencv+mingw+cmake配置vscode下的opencv环境

目录介绍安装VsCode安装mingw安装cmake安装opencv&#xff0c;以及其扩展库 opencv_contrib安装python利用cmake生成opencv的Makefile文件cmake命令进行编译&#xff0c;安装配置opencv环境变量配置VSCODE测试DEMO介绍 参考链接&#xff1a;https://www.cnblogs.com/czlhxm/p/…

机器学习和深度学习的关系

机器学习和深度学习的关系 机器学习是一种实现人工智能的方法&#xff0c;深度学习是一种实现机器学习的技术 机器学习&#xff1a;使用算法来解析数据&#xff0c;从中学习&#xff0c;然后对真实世界中的时间做出决策和预测。比如&#xff0c;垃圾邮件检测&#xff0c;房价…

初探Lua脚本

1、什么是Lua Lua脚本是一个由C语言编写的小巧脚本语言&#xff0c;在所有脚本引擎中&#xff0c;Lua的速度是最快的。Lua的核心代码不过一万多行&#xff0c;因为是C语言编写的&#xff0c;因此Lua可以在几乎所有的操作系统和平台进行编译运行 2、Lua适用场景 1&#xff09;…

TensorFlow之回归模型-3

1 基本概念 回归模型 线性 线性模型 非线性模型 线性回归 逻辑回归 Log Loss&#xff08;损失函数&#xff09; 分类临界值 2 效率预测 如上所示&#xff0c;使用测试数据集进行评估、用图形显示逻辑回归的预测结果&#xff0c;其中&#xff0c;test_features是测试特…

hex文件格式剖析,以及hex与bin文件互相转换

大家好&#xff0c;我是学电子的小白白。 熟悉单片机开发的朋友&#xff0c;应该经常见到*.hex后缀的文件&#xff0c;它是单片机和嵌入式工程编译输出的一种常见的目标文件格式&#xff08;比如keil就能编译输出hex文件&#xff09;&#xff0c;通过烧写工具把它下载到单片机…