JavaScript 中每个索引处的累计和

javascriptweb developmentfront end technologyobject oriented programming更新于 2024/12/5 12:28:17

在给定的问题陈述中,我们必须借助 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:因此,我们必须计算给定数组的累积和,因此首先我们将创建一个函数并将其命名为累积总和,并且在此函数中,我们将传递数组的参数作为 arr。

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

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

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

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

算法代码

示例

//获取累积总和的函数
function cumulativeSum(arr) {
   let result = [];
   let sum = 0;

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

   return result;
}
//用法
const inputArray = [11, 21, 31, 41, 51];
constcumualSums =cumualSum(inputArray);
console.log(cumulativeSums);

输出

[ 11, 32, 63, 104, 155 ]

复杂度

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

结论

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


相关文章


有用资源