Fil*_*lov 1 c++ algorithm numbers average visual-c++
这就是事情,我有一个任务来创建一个带有一些数字的数组,之后数组可以接受任何位置内的任何其他相同类型的数字.当我得到最后一个数组(添加了数字)时,我需要找到内部数字的平均值,并且持续时间为O(1).我怎么做?!这就是我的例子
要素:5 12 7 9 31平均:12.8
Jos*_*man 16
如果这是一个数组类,您可以跟踪添加和更新的所有数字的总和.然后,当所有更新完成时,只需将和除以元素的数量以得到平均值,并且由于总和是预先计算的,因此平均值的计算将为O(1).
如果这是一个简单传递的原始内存数组,那么计算平均值将需要对所有数字求和,这是一个O(N),除非有人正在玩一个关于操作是什么的语义游戏.