leetcode每日一题-598:范围求和(二)
链接
范围求和 II
题目
分析
每次添加都是从(0,0)加到(a,b),(0,0)一定是统计次数最多的,所以我们找到所有的等于(0,0)的值即可,那么矩阵中的哪些值等于(0,0)中的值呢,我们这样来考虑,找到所有a中的最小值x,找到所有b中的最小值y,那么因为x,y分别是a,b的最小值,所以他们和(0,0)一样一直被+1,所以答案就显而易见了.
代码
C++
class Solution {
public:
int maxCount(int m, int n, vector<vector<int>>& ops) {
int x = m, y = n;
for(auto& ve : ops)
{
x = min(x, ve[0]);
y = min(y, ve[1]);
}
return x * y;
}
};
Java
class Solution {
public int maxCount(int m, int n, int[][] ops) {
int mina = m, minb = n;
for (int[] op : ops) {
mina = Math.min(mina, op[0]);
minb = Math.min(minb, op[1]);
}
return mina * minb;
}
}
作者:LeetCode-Solution