题目
题目解析
- 由于是以 (a,b) 为右下角的顶点与 (0,0) 所形成的矩形,所以每次进行加和的区域实际是可知的,而题目只需要求出最大的加和区域,所以实际上就是求交集,而这题的交集只需要看一个点,所以很简单的就维持一个坐标就行了。
解题代码
cpp
class Solution {
public:
int maxCount(int m, int n, vector<vector<int>>& ops) {
int mina = m, minb = n;
for (const auto& op: ops) {
mina = min(mina, op[0]);
minb = min(minb, op[1]);
}
return mina * minb;
}
};
golang
func maxCount(m, n int, ops [][]int) int {
mina, minb := m, n
for _, op := range ops {
mina = min(mina, op[0])
minb = min(minb, op[1])
}
return mina * minb
}
func min(a, b int) int {
if a > b {
return b
}
return a
}