C++效率问题。
我有n个类似下面的运算
a[m]={0,7};
b[q]={5,7,9....}
a和b中都有7,返回1;
这样程序要计算n*q次,n和q很大,这样程序特别慢,我想减少次数,使用&运算,但是q可能几百。
那怎么做可以降低循环次数啊? C++ 效率
[解决办法]
看这个,上面写快了,写漏了:
for(int i=0;i<n;i++)
{
if(i==k)
coutinue;
else
for(int j=0;j<mi;j++)
{
if(j)
if(aj[j]在哈希表中)
count[aj[j]对应的下标]++;
}
}
检查count数组,只要是"为n的值对应的下标" 所对应的值即为共同数字,否则就不是
复杂度: n*mMax ~n*mMax*mMin