【发布时间】:2012-10-17 23:59:40
【问题描述】:
假设我有一个由 n 个元素组成的数组。
1 2 3 4 5 6 ... n
我需要找到一种方法来使用 C++ 提取此数组中连续元素的总和。 像这样:
1, 2, 3,...n, 1+2, 2+3, 3+4,...(n-1)+n, 1+2+3, 2+3+4,...(n-2)+(n-1)+n,...1+2+3...n
到目前为止,我发现我需要通过在每次运行时对一定数量的元素求和来遍历这个数组。我不确定是否可以实现我上面解释的算法。可能有更好的解决方案,但这是我能想到的最好的解决方案。
【问题讨论】:
-
元素实际上是等于其索引的整数,即。 e.第一个元素是 1,第二个是 2,等等?
-
不,它们不是,它们是实际问题中的任意数字。我只是想通过在上面的示例中给出更简单的数字来使其更简单。
-
在这种情况下,您的问题是什么?为什么这个算法不起作用?
-
我找不到实现这个算法的方法,这就是问题所在。
-
好吧...
int sum = 0; for (int i = lowerindex; i <= upperindex; i++) sum += array[i];