我对编程和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/