博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
598. Range Addition II 范围相加
阅读量:5150 次
发布时间:2019-06-13

本文共 1479 字,大约阅读时间需要 4 分钟。

Given an m * n matrix M initialized with all 0's and several update operations.

Operations are represented by a 2D array, and each operation is represented by an array with two positive integers a and b, which meansM[i][j] should be added by one for all 0 <= i < a and 0 <= j < b.

You need to count and return the number of maximum integers in the matrix after performing all the operations.

Example 1:

Input: m = 3, n = 3operations = [[2,2],[3,3]]Output: 4Explanation: Initially, M = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]After performing [2,2], M = [[1, 1, 0], [1, 1, 0], [0, 0, 0]]After performing [3,3], M = [[2, 2, 1], [2, 2, 1], [1, 1, 1]]So the maximum integer in M is 2, and there are four of it in M. So return 4.

Note:

  1. The range of m and n is [1,40000].
  2. The range of a is [1,m], and the range of b is [1,n].
  3. The range of operations size won't exceed 10,000.
题意:给定一个m*n的矩阵,把数组初始化为0,然后用ops二维数组去更新矩阵的每个元素值,例如a=2,b=2则矩阵M
11
-M
22
全部增加1,以此类推,然后找出最大的元素的个数。
解法:寻找到被操作次数最多的行和列
 
  1. public class Solution {
  2. public int MaxCount(int m, int n, int[,] ops) {
  3. int rowMin = Int32.MaxValue;
  4. int colMin = Int32.MaxValue;
  5. if (ops.GetLength(0) == 0) {
  6. return m * n;
  7. }
  8. for (int i = 0; i < ops.GetLength(0); i++) {
  9. int row = ops[i, 0];
  10. int col = ops[i, 1];
  11. if (row > 0) {
  12. rowMin = Math.Min(rowMin, row);
  13. } else {
  14. return 0;
  15. }
  16. if (col > 0) {
  17. colMin = Math.Min(colMin, col);
  18. }else {
  19. return 0;
  20. }
  21. }
  22. return rowMin * colMin;
  23. }
  24. }

转载于:https://www.cnblogs.com/xiejunzhao/p/2ef28b4838e32b29f4a8886245304564.html

你可能感兴趣的文章
40个优秀的单页网站设计范例(下篇)
查看>>
未来的Web:让你惊叹的 Chrome 浏览器实验项目
查看>>
TCP系列22—重传—12、Forward Retransmit
查看>>
在某公司工作一年的自我总结01
查看>>
外煤关注:百度收购大部分糯米股份
查看>>
聚集索引和非聚集索引(整理)
查看>>
博弈---斐波那契博弈
查看>>
eclipse 项目转as项目时 .so文件 jniLibs的设置
查看>>
C#常见的异常
查看>>
apache中若干模块的安装
查看>>
(转)Android进程管理详解
查看>>
SpringBoot 基础
查看>>
ubuntu安装sublime-text
查看>>
Memcache命令及参数用法
查看>>
NET Core 拓展方法和中间件集合(支持NET Core2.0+)
查看>>
详解SpringMVC请求的时候是如何找到正确的Controller
查看>>
构建第一个 Spring Boot 工程
查看>>
Net Core中使用Newtonsoft.Json进行序列化保持原有大小写
查看>>
MySQL登录报错"Access denied for user 'root'@'localhost' (using password: YES)"
查看>>
[HNOI2017]大佬
查看>>