【发布时间】:2022-01-11 00:48:32
【问题描述】:
有没有办法在 O(n) 中打印长度为 n 的给定非负整数列表的累积和?
例如,给定一个列表 {3,2,3,12,2}
输出将是:3 5 5 17 17
我必须在无限内存中实现这个,所以复杂的结构可能很难做到。
【问题讨论】:
-
@KaziSohan 对于这个输出,列表是 {3,2,3,12,2},因为我们忽略了所有重复的元素
-
数组的最大值可以是多少?
-
@KaziSohan 最大值没有限制
-
您必须以某种方式了解哪些数字是重复的。您可以使用
map类型的结构,主要采用O(lg n)。所以我认为O(n)没有办法做到这一点 -
@KaziSohan 我已经使用尝试实现了这个,它是 O(nlogm),m 是最长的元素。我被告知可以在 O(n) 中完成,但我不知道从哪里开始
标签: algorithm time-complexity cumulative-sum