598. Range Addition II

来源:互联网 发布:361彩票是网络诈骗吗 编辑:程序博客网 时间:2024/06/08 01:12

题目意思很简单,然后我就按照一般办法做的,遍历一遍ops,对于符合的进行加一操作,然后再遍历一遍得到最大值有多少个。

然后就华丽的TLE了。

所以找了新思路,对于ops取每对a和b的最小值,然后与m、n比较取最小值,最后返回乘积。

java代码(运行时间6ms)

public int maxCount(int m, int n, int[][] ops) {
        int mina=50000,minb=50000,sum=0;
for(int k=0;k<ops.length;k++) {
int a = ops[k][0];
int b = ops[k][1];
mina = Math.min(a, mina);
minb = Math.min(b, minb);
}
mina = Math.min(m, mina);
minb = Math.min(n, minb);
sum = mina*minb;
return sum;
    }