寻找数据结构连续添加数字

时间:2014-09-02 22:27:45

标签: algorithm math data-structures

就像标题所说我试图连续添加数字。这是一个例子:

enter image description here

我很确定这是一个数据结构,但不记得它叫什么。任何帮助是极大的赞赏。感谢。

2 个答案:

答案 0 :(得分:3)

我认为这更像是数学问题,而不是数据结构问题。 : - )

数字1 + 2 + ... + n的总和等于n(n + 1)/ 2.这个数字称为第n triangular number

希望这有帮助!

答案 1 :(得分:0)

这个简单求和问题的数据结构是一种过度杀伤力。如果数字是连续的,那么n(n + 1) / 2是驱动它的最佳公式。即使连续序列从任何随机数开始,例如[8 9 10 11 12 13],您仍然可以按((13 * (13 + 1)) / 2) - ((7 * (7 + 1)) / 2)计算它。

此外,如果您需要数据结构,则可以使用Segment Tree来计算范围总和。 (当数据不连续时最适合)