范围求和Ⅱ
这个题目思路感觉比较简单,只需要返回最大数字的个数;这里的operation较为单纯,可以理解为在m*n矩形中画小矩形,通过以下丑图不难看出阴影部分的数字是最大的数。
而最大数的个数则是阴影部分右下角的横纵坐标之积,接着便是考虑如何得到这个横纵坐标,注意到该横纵坐标均是操作数中最小的,因此只需要找出横纵坐标最小的数即可。具体代码如下:
int maxCount(int m,int n,int** ops,int opsSize,int* opsColSize)
{
int i,len=m,wid=n;
for(i=0;i<opsSize;i++)
{
if(ops[i][0]<len)
{
len=ops[i][0];
}
if(ops[i][1]<wid)
{
wid=ops[i][1];
}
}
return len*wid;
}
这次是用力扣传参的方式写的函数,让我有点疑惑的地方就是最后一个参数opsColSize,不明白这是什么意思,貌似在函数中也没用到,但上面这个在力扣中是对的,这里确实有点不清楚。