# 矩阵（最大值）的范围 Range Addition II 原

叶枫啦啦

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 means M[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 = 3
operations = [[2,2],[3,3]]
Output: 4
Explanation:
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.

①只要找到二维坐标的第一个坐标的最小值和第二个坐标的最小值相乘即可；

public class Solution { //6ms
public int maxCount(int m, int n, int[][] ops) {
if(ops == null || ops.length == 0) return m * n;
int minRow = Integer.MAX_VALUE;
int minCol = Integer.MAX_VALUE;
for (int op[] : ops) {
if (minRow > op[0]) minRow = op[0];
if (minCol > op[1]) minCol = op[1];
}
return minRow * minCol;
}
}

② 我首先想到的是这种方法，按照题意依次将对应位置加1，然后遍历数组，查找与arr[0][0]相同的值的个数即可。但是出现了内存不足（Memory Limit Exceeded）。

public class Solution {
public int maxCount(int m, int n, int[][] ops) {
int[][] arr = new int[m][n];
for(int[] op : ops){
for(int i = 0;i < op[0];i ++){
for(int j = 0;j < op[1];j ++){
arr[i][j] += 1;
}
}
}
int count = 0;
for(int i = 0;i < m;i ++){
for(int j = 0;j < n;j ++){
if(arr[i][j] == arr[0][0]) count ++;
}
}
return count;
}
}

### 叶枫啦啦

Search a 2D Matrix II【原创】

Search a 2D Matrix II： python学了还么两周可能有些地方写的很新手大家不要笑我 解题思路： 首先当数组为1维数组时if in 直接查找即可 当为 m x n 维数组时： matrix为行增列增的有序矩阵 ...

big_cat
2015/07/27
0
0

2016/11/27
170
0
Opencv常见用法和常见错误（一）

2015/07/30
0
0

2015/09/15
187
0
GUAVA常用方法总结整理（list map string concurrent file）

1.对字符串的操作： 2.FluentIterable迭代器： Guava提供了可以在Iterator中进行处理的功能更丰富的迭代器， 其实就像是加了一个代理， 增加一些功能。 3.Lists列表： Table矩阵： 使用Guava...

2016/09/17
106
0

PHP生成CSV之内部换行

37分钟前
1
0

40分钟前
4
0

3
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V

17
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器，此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录，之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单，...

2
0