我的代码工作,但它不被接受,以通过挑战。如果你能告诉我我做错了什么我会很感激的。
挑战说明:
给定一个整数数组。返回一个数组,其中第一个元素是正数的计数,第二个元素是负数的和。如果输入数组为空或null,则返回一个空数组:
C#/Java: new int[] {} / new int[0];
C++: std::vector<int>();
JavaScript/CoffeeScript/PHP/Haskell: [];
Rust: Vec::<i32>::new();
注意!传递的数组不应该被改变。在这里阅读更多。*
例如:
输入[1,2,3,4,5,6,7,8,9,10,-11,-12,-13,-14,-15]
return[10,-65]。
我的密码:
function countPositivesSumNegatives(input) {
if (input.length < 1){
return [];
}
var newArray = [0, 0];
for (var i = 0; i < input.length; i++){
if (input[i] > 0)
{
newArray[0] += 1;
}
else {
newArray[1] += input[i];
}
}
return newArray;
}
9条答案
按热度按时间qxsslcnc1#
当challenge明确要求“如果输入数组为空或null,则返回一个空数组”时,您没有检查
null
。请考虑更改代码如下fjaof16o2#
这段代码是为我工作(在JavaScript中)
因此,需要检查input === null(并返回空数组),以及input[i]〈= 0(对负数求和)
vom3gejh3#
下面是我在Javascript中使用的一种方法,也许你也可以从中借鉴一些想法
cbjzeqam4#
以下是我对这个任务的解决方案:
byqmnocz5#
以下是我对这个任务的解决方案:
solution for codewars
kninwzqo6#
满足主题中最长的代码
d6kp6zgx7#
}
dgtucam18#
这一个绝对有效::
对于正数,将当前数与前一个数相加,遍历整个数组后返回最新的可用值。
ubof19bj9#
这是可行的:
}