由于其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1,所以可知最大整数一定为每次都加被加一的左上角的整数块。即每次都被划入a, b范围内的块。
所以该整数块:x 为各组数据中最小的a, 同理 y 为各组数据中最小的b。
class Solution {
public:
int maxCount(int m, int n, vector<vector<int>>& ops) {
int minx = m, miny = n;
for (const auto& op: ops) {
minx = min(minx, op[0]);
miny = min(miny, op[1]);
}
return minx*miny;
}
};