输入流的最大,最小平均值

时间:2013-12-09 05:32:24

标签: algorithm data-structures

我获得了一个输入流&两个指数(i& j)之间需要计算min,max和amp;平均所有数字。我应该使用哪种数据结构&我该如何计算这些值?

2 个答案:

答案 0 :(得分:0)

几乎任何数据结构都可以在这里 - 当然取决于语言。根据语言,列表可能最快实施。计算最小值,最大值和平均值非常简单 - 迭代您的值。取每个值并将其与当前的最小值和最大值进行比较 - 如果它高于最大值或低于最小值,则替换它,然后将该值添加到运行总计中以用于平均目的。

答案 1 :(得分:0)

一个非常简单的解决方案是使用简单的数组。

数组1:输入您只需将输入存储在下一个索引处。

数组2:求和:sum [i] =输入1 +输入[2] + ... +输入[i]

这可以快速平均。 O(1)但最坏情况下的最小值和最大值仍为O(N)。

如果您需要其他内容,可以使用segment tree并在O(log n)时间内执行所有查询。插入也变为O(log n)