📜  简单数组求和 javascripthackerrank 解决方案 - Javascript (1)

📅  最后修改于: 2023-12-03 15:41:08.904000             🧑  作者: Mango

简单数组求和 Javascript Hackerrank 解决方案

本文将介绍如何使用 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() 方法更加简洁和易于阅读。