我对编程和javascript还是很陌生,最近开始研究CodeWars的挑战。我无法通过我的解决方案传递以下挑战,即使与其他用户的解决方案进行比较,我也找不到我的问题所在。

挑战:

“完成squareSum / square_sum / SquareSum方法,以便对传递给它的每个数字求平方,然后将结果求和。

例如:
squareSum([1,2,2]); //应该返回9“

我的代码:

function squareSum(numbers){
  var sqNum = numbers.map(num=>num*num);
  var addNum = sqNum.reduce((acc,curr)=> acc + curr);
  return addNum
};


我想念什么吗?

最佳答案

function squareSum(numbers){
    return numbers.reduce((acc,curr)=> acc + curr * cur, 0);
}


避免带有地图的完整副本。对于大型阵列的测试用例,您很可能会达到运行时间或内存限制。

CodeWars不仅与正确的实现有关,而且与合理的效率有关。

关于javascript - CodeWars上的javascript挑战:我的解决方案出了什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47568395/

10-11 13:07