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)。