LeetCode 598. 范围求和 II
发布日期:2021-07-01 03:23:57
浏览次数:2
分类:技术文章
本文共 942 字,大约阅读时间需要 3 分钟。
1. 题目
给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。
操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1
。
在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。
示例 1:输入: m = 3, n = 3operations = [[2,2],[3,3]]输出: 4解释: 初始状态, M = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]执行完操作 [2,2] 后, M = [[1, 1, 0], [1, 1, 0], [0, 0, 0]]执行完操作 [3,3] 后, M = [[2, 2, 1], [2, 2, 1], [1, 1, 1]]M 中最大的整数是 2, 而且 M 中有4个值为2的元素。因此返回 4。注意:m 和 n 的范围是 [1,40000]。a 的范围是 [1,m],b 的范围是 [1,n]。操作数目不超过 10000。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/range-addition-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
- 取最小的两个坐标,其左上角就是被加1次数最多的
class Solution { public: int maxCount(int m, int n, vector>& ops) { if(ops.empty()) return m*n; int r = INT_MAX, c = INT_MAX; for(auto& op : ops) { r = min(r, op[0]); c = min(c, op[1]); } return r*c; }};
24 ms 10.3 MB
转载地址:https://michael.blog.csdn.net/article/details/105719055 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月30日 23时20分18秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Qt for Android 部署流程分析
2019-05-02
Qt中使用QQueue模拟消息队列
2019-05-02
SVN命令使用详解
2019-05-02
每天学点C++知识:用 ++i 替代 i++
2019-05-02
浅谈C++中指针和引用的区别
2019-05-02
浅谈C++中内存分配、函数调用和返回值问题
2019-05-02
MAC下安装与配置MySQL
2019-05-02
C语言使用回调函数解决内存申请和释放的问题
2019-05-02
c/c++内存机制(一)
2019-05-02
常见的C语言内存错误及对策
2019-05-02
C++内存管理
2019-05-02
用C语言如何获取当前Linux系统的用户名
2019-05-02
如何Cocoa运用程序显示或隐藏MainNemu
2019-05-02
Mac系统如何隐藏Dock上的图标
2019-05-02
APP Run In Background浅析(App 的后台运行)
2019-05-02
Linux获取当前时间
2019-05-02
全国1977——2016年参加高考人数和录取率
2019-05-02
关于C++ const 的全面总结
2019-05-02
const用法汇总
2019-05-02
linux 终端高亮显示关键字
2019-05-02