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

news2024/9/29 5:28:58

给你一个 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.coloradmin.cn/o/129031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022年-年度总结报告

目录1.攻克的技术难题问题1&#xff1a;2.学习的新技术1.system系统的学习2.网络3.游戏22年总结23年的计划1.先给自己画个大饼2.计划内的小饼1.攻克的技术难题 问题1&#xff1a; 跑VTS测试的时候&#xff0c;mkfs.exfat挂测失败&#xff0c;VTS刷最新的谷歌gsi没有过&#x…

大文件传输如何帮助媒体行业

过去几年&#xff0c;随着分辨率从4k到6k再到8k的升级&#xff0c;观众已经适应了高分辨率的时代。然而&#xff0c;许多媒体工作室的工作流程还停留在过去。 TB甚至PB大小的材料的传输让从业者无所适从。这就是高速文件传输对媒体行业有很大帮助的原因。 什么是大文件传输&am…

81.【SpringMVC】

SpringMVC(一)、认识MVC三层架构1.回顾MVC(1).什么是MVC三层框架(2).MVC要做那些事情?(3).常见的MVC三层框架结构(4).知识拓展2.代码回顾3.什么是SpringMVC(二)、第一个SpringMVC0.前提1.搭建环境2.配置WEB-INF的XML配置文件3.在资源Resource的包下设置springmvc-servlet.xml4…

30-深入Hotspot源码与Linux内核理解NIO/BIO/AIO

IO模型 IO模型就是说用什么样的通道进行数据的发送和接收&#xff0c;Java共支持3种网络编程IO模式&#xff1a;BIO&#xff0c;NIO&#xff0c;AIO BIO(Blocking IO) 同步阻塞模型&#xff0c;一个客户端连接对应一个处理线程 缺点&#xff1a; 1、IO代码里read操作是阻塞操…

Spreadsheet与FineReport数据集对比

什么是数据集&#xff1f;在BI工具中指的是在报表开发前的取数过程&#xff0c;把需要的数据整合成一个数据集合&#xff0c;以便于在报表开发中使用。可以把它理解为我们基于数据库获取我们需要的数据。而数据库获取数据是有多种方式的&#xff0c;比如可以通过直接写SQL语句、…

基于verilog实现序列相关检测

题目来源牛客网&#xff0c;完整工程源码&#xff1a;https://github.com/ningbo99128/verilog 目录 1、VL25 输入序列连续的序列检测 题目介绍 思路分析 代码实现 仿真文件 2、VL26 含有无关项的序列检测 题目介绍 思路分析 代码实现 仿真文件 3、VL27 不重叠序列检…

Sleuth+Zipkin架构

为什么要链路追踪 小结&#xff1a; nacos 【name server】&#xff1a;注册中心&#xff0c;解决服务的注册与发现 nacos【config】&#xff1a;配置中心&#xff0c;微服务配置文件的中心化管理&#xff0c;同时配置信息的动态刷新 Ribbon&#xff1a;客户端负载均衡器&#…

《设计模式》享元模式

《设计模式》享元模式《设计模式》设计模式的基本原则 《设计模式》单例模式 《设计模式》工厂模式 《设计模式》原型模式 《设计模式》建造者模式 《设计模式》适配器模式 《设计模式》桥接模式 《设计模式》装饰者模式 《设计模式》组合模式 《设计模式》外观模式 《设计模式…

数据结构课设:迷宫问题

文章目录前言一、概要设计1、基本信息2、功能模块图3、功能描述4、调用关系图5、结果演示① 创建迷宫② 求解③ 清除多余路径二、完整代码前言 最近刚好在写自己的课设&#xff0c;匆匆忙忙写出来的课设系统&#xff0c;仍有不足&#xff0c;拿出来和大家分享一下&#xff0c;…

C. p-binary(二进制位)

Problem - 1225C - Codeforces Vasya会看中任何数字&#xff0c;只要它是2的整数次方。另一方面&#xff0c;Petya非常保守&#xff0c;只喜欢单一的整数p&#xff08;可以是正数、负数或零&#xff09;。为了结合他们的口味&#xff0c;他们发明了2xp形式的p-二进制数&#xf…

jmeter接口测试之导入测试用例/get请求中Url存在参数(工作日记2)

导入接口用例进行接口测试 以运营中心测试计划中的企业菜单管理为例 【前提条件】 1、有接口数据 2、有接口用例 我们需要把接口测试用例转换为CSV格式步骤如下&#xff1a; 右键选择打开方式为Notepad 需要将文件设置一下编码 文件留着备用 【步骤】 1、新建一个企业…

前端基础之PS和相关基础知识总结

PS安装&#xff1a; 淘宝 PS简介 面板简介&#xff08;菜单栏、工具栏、辅助面板&#xff09; 图片格式&#xff1a; jpgjpeg&#xff08;色彩丰富的图片&#xff09;png&#xff08;半透明图片&#xff09;gif&#xff08;网页动态图&#xff09;psd&#xff08;ps设计源文…

android java udp广播 用于局域网搜索扫描设备。

DatagramSocket socket new DatagramSocket();//设置接收等待时长socket.setSoTimeout(LanCommConfig.RECEIVE_TIME_OUT);byte[] sendData new byte[1024];//使用广播形式&#xff08;目标地址设为255.255.255.255&#xff09;的udp数据包DatagramPacket sendPacket new Dat…

STC15单片机+DS18B20+LCD1602+PCF8574转IIC接口温度显示

STC15单片机+DS18B20+LCD1602+PCF8574转IIC接口温度显示 📺显示效果 LCD1602 IIC接口 ✨本示例基于自制的STC开发板,主控采用的:IAP15W4K61S4相关篇《【PCB开源分享】STC/IAP15W4K61S4开发板》《【开源分享】自制STC15W408AS开发板》🌼接线说明 🌿CD1602+PCF8574转IIC接…

stlink下载调试器使用说明(STM32采用stlink下载程序)

stlink能干什么&#xff1f; 最基本的功能&#xff1a;下载程序。 一般STM32支持ISP串口下载&#xff0c;也支持stlink、jlink等下载器下载 。 使用stlink、jlink下载要比串口方便很多&#xff0c;在keil里直接点击下载就行了&#xff0c;不需要去选择hex文件&#xff0c;速度…

你可能还不知道 golang 的高效编码细节

xdm&#xff0c;我们都知道 golang 是天生的高并发&#xff0c;高效的编译型语言 可我们也都可知道&#xff0c;工具再好&#xff0c;用法不对&#xff0c;全都白费&#xff0c;我们来举 2 个常用路径来感受一下 struct 和 map 用谁呢&#xff1f; 计算量很小的时候&#xf…

特斯拉第10000桩落成,百度地图送10000名充电免单!

「导语」 为庆祝特斯拉在中国大陆落成第10000个超级充电桩&#xff0c;百度地图推出特斯拉车主专属权益。车主们通过百度地图APP&#xff0c;即可实时获取超级充电桩空闲信息、一键规划专属充电路线。12.28-1.2期间&#xff0c;更有10000份充电免单福利限时放送。 在汽车电动…

Linux环境开机自启java应用

Linux环境设置开机自启java应用&#xff08;Linux定时任务&#xff09; crontab是Unix和Linux用于设置需要周期性被执行的指令&#xff0c;是Linux服务器很常用的技术&#xff0c;很多任务都会设置在crontab循环执行。 crontab &#xff1a; 提供给用户控制任务计划的命令&…

WebDAV之葫芦儿·派盘+File Manager

File Manager 支持WebDAV方式连接葫芦儿派盘。 手机文件太多,空间不足、隐藏文件多、文件清理不干净?推荐您一个功能强大的文件管理器,可以让你对手机中的各类文件进行管理,支持快速移动、复制粘贴、压缩解压等等。同时还能对已经安装的程序进行卸载,自动识别手机中的AP…

啥牌子的蓝牙耳机音质好?2023公认音质最好的蓝牙耳机

音乐是有魔力的&#xff0c;繁杂的工作和琐碎的生活&#xff0c;使得大多数人焦虑不安&#xff0c;音乐可以令人放松&#xff0c;蓝牙耳机越多越多&#xff0c;真不知道怎么挑好&#xff0c;品牌成百上千&#xff0c;款式就更不用说了&#xff0c;下面笔者专门整理了一期音质表…