我正在努力提高即将发布的作业的编程技巧,这涉及到解决问题,同时使其尽可能高效,快速地运行。我知道这是一段相当有限的代码,但是如果有什么话会使其运行得更快。
该方法采用一个数组,其中包含事务的详细信息,用于维护循环的事务数量为100。因此获取平均股数然后返回。英语不太流利,所以希望这很有意义,谢谢
double Analyser::averageVolume()
{
// Your code
double averageNumShares = 0;
for(int i = 0; i < nTransactions; i++)
{
averageNumShares += tArray[i].numShares;
}
averageNumShares = averageNumShares / nTransactions;
return averageNumShares;
//return 0
}
最佳答案
如果您需要计算n个数字的平均值,恐怕您无法将其加速超出示例代码中线性时间方法的速度。
除非将其用作另一个更复杂的算法的一部分,否则您可以不必不必计算平均值或沿这些方向计算,就可以取平均值,这将是一个O(n)操作,该操作基本上涉及对所有求和数组中的元素,然后除以元素数。正是您所拥有的。