[英]javascript challenge on CodeWars: what's wrong with my solution?
我對編程和 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 不僅關乎正確的實現,而且關乎合理的效率。
這個解決方案本身工作正常,我已經在 codepen 上嘗試過。 它必須與您提出答案的方式有關。 我不知道 codewars 究竟是如何工作的,但請記住,您不會在任何地方調用函數squareSum
。 當你這樣做時,記得在數組中傳遞數字。
function squareSum(numbers){
var sqNum = numbers.map(num=>num*num);
var addNum = sqNum.reduce((acc,curr)=> acc + curr);
console.log( addNum )
};
squareSum([1, 2, 2]);
這工作得很好
This is my solution the code wars challenge...Was well
function square_sum(numbers) {
return numbers.reduce(function(sum, x) {
return (x * x) + sum;
}, 0)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.