因为是从(0,0)开始更新,所以只要找到最小的横纵坐标就可以了。注意处理ops为空的情况。
class Solution {
public:
int maxCount(int m, int n, vector<vector<int>>& ops) {
int min1 = m;
int min2 = n;
for (int i = 0; i < ops.size(); i++)
{
if (ops[i][0] < min1) min1 = ops[i][0];
if (ops[i][1] < min2) min2 = ops[i][1];
}
return min1*min2;
}
};题解里的另一种写法:
class Solution {
public:
int maxCount(int m, int n, vector<vector<int>>& ops) {
for (auto op : ops) {
m = min(op[0], m);
n = min(op[1], n);
}
return m * n;
}
};
本文介绍了一种解决二维矩阵更新问题的方法。通过遍历操作数组,找出所有操作后的最小宽度和高度,以此确定更新区域的大小。最终返回该区域面积作为答案。
279

被折叠的 条评论
为什么被折叠?



