这是悦乐书的第271次更新,第285篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第138题(顺位题号是598)。给定一个m行n列的新二维数组M,其初始值为0。提供一个二维数组ops,每次对M做如下操作,每次从ops中取出一个数组temp,temp里面包含两个整数a和b,使得M[i][j]的元素都自增1,其中0 <= i < a, 0 <= j < b。在遍历完ops中的所有数组后,找出M中值最大的元素的个数。例如:

输入: m = 3, n = 3,ops = [[2,2],[3,3]]

输出: 4

说明: 初始化二维数组M = [[0, 0, 0],[0, 0, 0],[0, 0, 0]],然后取ops中的第一个数组[2,2],也就是0<=i<2,0<=j<2,所以M[0][0],M[0][1],M[1][0],M[1][1]都自加1,此时M=[[1, 1, 0],[1, 1, 0],[0, 0, 0]]。然后取ops中的第二个数组[3,3],表明0<=i<3,0<=j<3,分别对M中的元素加1,此次操作是对数组中所有元素都加1,因为M的下标最大到2,此时M = [[2, 2, 1],[2, 2, 1],[1, 1, 1]],其中2是最大值,出现了4次,所以返回4。

注意:

  • m和n的范围是[1,40000]。

  • a的范围是[1,m],b的范围是[1,n]。

  • ops的范围不超过10,000。

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 解题

通过观察上面的例子,我们可以知道,被加的次数最多的元素值最大,其次数就是坐标范围之积,就是题目要求的M中值最大的元素的个数。例题中,被加次数最多坐标范围是[2,2],这中间有4个数。我们只需要找到每次操作的坐标最小值,就可以锁定操作的最小范围,此范围内的值最大,因为每次都会把该范围内的数加1。题目已经告诉了M的行是m,列是n,而每次操作的坐标的ops中数组的前两位元素,取两者之间的最小行值、列值,最后相乘就是最大值的个数。特殊情况就是,给的ops为null或者是个空数组,那么值最大的元素值为0,次数就是M的行列之积。

public int maxCount(int m, int n, int[][] ops) {
if (ops == null || ops.length == 0) {
return m*n;
}
for (int[] temp : ops) {
m = Math.min(m, temp[0]);
n = Math.min(n, temp[1]);
}
return m*n;
}

03 小结

算法专题目前已日更超过四个月,算法题文章138+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

LeetCode算法题-Range Addition II(Java实现)的更多相关文章

  1. LeetCode算法题-Valid Palindrome II(Java实现)

    这是悦乐书的第287次更新,第304篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第155题(顺位题号是680).给定非空字符串s,最多可以删除一个字符. 判断它是否是回 ...

  2. LeetCode算法题-Reverse String II(Java实现)

    这是悦乐书的第256次更新,第269篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第123题(顺位题号是541).给定一个字符串和一个整数k,你需要反转从字符串开头算起的 ...

  3. LeetCode算法题-Range Sum Query Immutable(Java实现)

    这是悦乐书的第204次更新,第214篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第70题(顺位题号是303).给定整数数组nums,找到索引i和j(i≤j)之间的元素之 ...

  4. LeetCode算法题-Contains Duplicate II(Java实现)

    这是悦乐书的第193次更新,第197篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第53题(顺位题号是219).给定整数数组和整数k,找出数组中是否存在两个不同的索引i和 ...

  5. LeetCode算法题-Rotate String(Java实现)

    这是悦乐书的第317次更新,第338篇原创 在开始今天的算法题前,说几句,今天是世界读书日,推荐两本书给大家,<终身成长>和<禅与摩托车维修艺术>,值得好好阅读和反复阅读. 0 ...

  6. LeetCode算法题-Rotated Digits(Java实现)

    这是悦乐书的第316次更新,第337篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第185题(顺位题号是788).如果一个数字经过180度旋转后,变成了一个与原数字不同的 ...

  7. LeetCode算法题-Toeplitz Matrix(Java实现)

    这是悦乐书的第312次更新,第333篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第181题(顺位题号是766).如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是 ...

  8. LeetCode算法题-Flood Fill(Java实现)

    这是悦乐书的第306次更新,第325篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第173题(顺位题号是733).图像由二维整数数组表示,每个整数表示图像的像素值(从0到 ...

  9. LeetCode算法题-Image Smoother(Java实现)

    这是悦乐书的第282次更新,第299篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第150题(顺位题号是661).给定表示图像灰度的2D整数矩阵M,您需要设计一个平滑器以 ...

随机推荐

  1. Yarn篇--搭建yarn集群

    一.前述 有了上次hadoop集群的搭建,搭建yarn就简单多了.废话不多说,直接来 二.规划 三.配置如下 yarn-site.xml配置 <property>        <n ...

  2. 关闭mac的SIP + 一定有用的删除mac自带ABC的方法

    如果你被这ABC输入法弄得很是不开心.那就看看吧!!!亲测一定有效. mac 关闭系统完整性保护 SIP(System Integrity Protection) 重启系统 按住 command+R ...

  3. Python内置函数(40)——map

    英文文档: map(function, iterable, ...) Return an iterator that applies function to every item of iterabl ...

  4. qt 多语化

        最近项目使用的qt版本升级,导致了界面乱码问题,因此最后决定利用qt的多语化机制,来解决乱码问题,首先感谢这两篇文字的帮助,在此加上作者链接:Qt之多语化和Qt多国语言的实现与切换(国际化) ...

  5. What can university bring to you?

    前言 大学真的是一个神奇的地方,它能带给你的东西超乎你的想象. 当我刚进大学的时候,觉得它和初中,高中,没什么不同,就只是换了地方而已,但是当我现在从里面出来之后,才真的发现,我已经真的不是当年那个自 ...

  6. glusterfs+heketi为k8s提供共享存储

    背景 近来在研究k8s,学习到pv.pvc .storageclass的时候,自己捣腾的时候使用nfs手工提供pv的方式,看到官方文档大量文档都是使用storageclass来定义一个后端存储服务, ...

  7. git版本控制工具的使用

    目录 git版本管理工具使用 一丶Git的下载与安装 1.windows下的git的下载与安装 2.linux下的git安装 二丶常用命令 三丶Git仓库 1.配置仓库信息 2.仓库的创建于管理 四丶 ...

  8. 原生JS forEach()和map()遍历的区别以及兼容写法

    一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...

  9. 第一册:lesson 101。

    原文: A card from Jimmy Read Jimmy's card to me please,Penny. I have just arrive in Scotland and I'm s ...

  10. MySQL 笔记整理(2) --日志系统,一条SQL查询语句如何执行

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 2) --日志系统,一条SQL查询语句如何执行 MySQL可以恢复到半个月内任意一秒的状态,它的实现和日志系统有关.上一篇中记录了一 ...