力扣 598范围求和 (寻找最小重合面积 java实现)
作者:互联网
看完题目就知道这个题是寻找重复最多的矩形的大小,在ops数组里,最小的矩形就是重复次数的最多的。所以转化为求ops数组里面最小的矩形。
我们现在的任务就是要求最小矩形的长宽,长宽都要考虑到给定的m,n的大小,要和他作比较看谁小,我刚开始想的是先让行和m作比较得到最小值temp再让temp和mina作比较,这就有点麻烦了,我看题解是直接将mina设置为m,minb设置为n,这样就少了我那一步temp,非常奈斯。
接下来就是找mina和minb,题解写的也是很好的,直接一次性取一行数组,mina=min(mina,op[0]),minb=min(minb,op[1]),这样就能得到行最小,列最小的矩形,他们长宽的乘积就是最后的答案。
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;
}
}
标签:java,min,int,598,minb,ops,力扣,mina,op 来源: https://blog.csdn.net/weixin_51656756/article/details/121188303