📅  最后修改于: 2023-12-03 15:41:08.904000             🧑  作者: Mango
本文将介绍如何使用 Javascript 在 Hackerrank 中解决简单数组求和问题。本文内容包括问题描述、解决方案以及代码示例。让我们开始吧!
给定一个由整数组成的数组,求这个数组中所有整数的和。
例如,对于数组 arr = [1, 2, 3, 4]
,我们应该返回 10
,因为 1+2+3+4=10
。
问题描述很简单,我们可以使用循环遍历数组中的每个元素,然后将它们相加即可。
以下是使用 for 循环实现的解决方案:
function simpleArraySum(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
我们使用一个计数器 sum
来保存数组中所有整数的和。然后,我们使用 for
循环遍历数组中的所有元素,并将它们相加,最终返回计数器的值。
这个解决方案的时间复杂度为 $O(n)$。
还有一种使用 reduce()
方法的解决方案,如下所示:
function simpleArraySum(arr) {
return arr.reduce((sum, currentValue) => sum + currentValue, 0);
}
这种解决方案使用了 reduce()
方法,将数组的每个元素相加最终返回总和。在这里,我们使用了 ES6 中的箭头函数、解构和默认参数。
以下是我们的完整 Javascript 代码示例:
/**
* 简单数组求和 Javascript Hackerrank 解决方案
* @param {number[]} arr - 由整数组成的数组
* @returns {number} 数组中所有整数的和
*/
function simpleArraySum(arr) {
return arr.reduce((sum, currentValue) => sum + currentValue, 0);
}
// 示例
console.log(simpleArraySum([1, 2, 3, 4])); // 输出:10
本文提供了两种解决方案来解决 Hackerrank 的简单数组求和问题。我们使用了传统的 for
循环和 reduce()
方法。这两种解决方案都具有相同的时间复杂度 $O(n)$,但是 reduce()
方法更加简洁和易于阅读。