JavaScript 中每个索引的累积和


在给定的问题陈述中,我们必须借助 Javascript 功能计算每个索引处的累积和。因此,我们将使用基本的 Javascript 语法和函数来解决此问题。

什么是累积和?

累积和也称为运行和或前缀和。因此,此和是对直到给定索引或位置的一系列数字的和的计算。在此过程中,数字迭代地将序列中的每个数字添加到前面项目的总和中。因此,结果新序列中的每一项都显示了包括数字本身在内所有前面项目的总和。

为了说明这个概念,让我们看一个例子。假设我们有一个数组 [1, 2, 3, 4, 5]。那么每个索引处的累积和将是

索引 0 - 1

索引 1 - 1 + 2

索引 2:1 + 2 + 3 = 6

索引 3:1 + 2 + 3 + 4 = 10

索引 4:1 + 2 + 3 + 4 + 5 = 15

因此,累积和数组将为 [1, 3, 6, 10, 15]。在这个新序列中,每一项都显示了给定数组中直到该最后一个索引的所有项目的总和。

理解问题

手头的问题是计算给定数组的累积和。正如我们上面所看到的,累积和究竟是什么。因此,在本文中,我们将解决此问题,并讨论算法、代码和复杂性以获得所需的结果。

给定问题的逻辑

为了解决计算每个索引处的累积和的给定问题,我们将迭代数组并将当前项添加到前面项目的运行和中。因此,首先我们将初始和设置为 0 并迭代数组中的每一项。在每个索引处,我们将当前项添加到运行和中,并将其存储在新结果数组的相应索引中。

算法

步骤 1:因此,我们必须计算给定数组的累积和,因此首先我们将创建一个函数并将其命名为 cumulativeSum,在这个函数中,我们将传递一个数组参数 arr。

步骤 2:创建上述函数后,我们将创建空结果数组,该数组将用于存储累积和。

步骤 3:然后,我们将使用一个名为 sum 的变量来存储项目的运行和,并将其初始化为零。

步骤 4:现在我们已经定义了所有必要的东西,之后我们需要迭代给定输入数组中的每一项 num。并将 num 加到 sum 以计算累积和。然后,我们将 sum 变量的当前值推入我们上面创建的结果数组中。

步骤 5:最后,我们将返回结果数组的值以显示累积和数组。

算法代码

示例

//Function to get the cumulative sum
function cumulativeSum(arr) {
   let result = [];
   let sum = 0;

   for (let i = 0; i < arr.length; i++) {
      sum += arr[i];
      result.push(sum);
   }

   return result;
}
//Usage
const inputArray = [11, 21, 31, 41, 51];
const cumulativeSums = cumulativeSum(inputArray);
console.log(cumulativeSums);

输出

[ 11, 32, 63, 104, 155 ]

复杂度

计算给定数组中每个索引的累积和的时间复杂度为 O(n),其中 n 是给定输入数组的大小。这种复杂性的原因是代码迭代数组一次以计算所需的和。空间复杂度也是 O(n),因为我们创建了一个新数组来存储累积和。

结论

代码已成功显示给定数组中每个索引处的累积和。由于我们已经迭代给定数组一次以获得每个索引处的累积和,因此时间复杂度为 O(n)。

更新于:2023年8月14日

756 次浏览

启动您的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.