java编写一个函数,该函数接受int数组,并返回奇偶值之和作为数组。(请阅读说明全文)
编写一个函数,该函数接受一个数组作为输入,并返回一个由2个数字组成的数组。返回的数组包含来自输入的偶数和奇数之和
如果任何输入为null,则应将其视为空数组
例如:
输入: [30, 18, 2, 83, 20, 71] 输出: [70154]
输入: [14, 11, 10, 67, 41] 输出: [24119]
输入: [36, 24, -82, 29, 44, -3, -100, -5, 49] 输出: [-78,70]
这是我到目前为止的进步,但是一些测试用例失败了,我不能得到满分。任何帮助都将不胜感激
PS我是初学者
//Function
public int[] getSumOfEvensAndOdds(int[] array) {
// Student code begins here
int[] res = {0,0};
int len = array.length;
if(array == null){
return res;
}
//logic
for(int i = 0; i < len; i++){
if(array[i] % 2 == 0){
res[0] += array[i];
} else if(array[i] % 2 != 0){
res[1] += array[i];
} else{
res[0] += 0;
res[1] += 0;
}
}
return res;
}
# 1 楼答案
在尝试获取
array.length
之前,需要测试null
。而且,在循环中只需要一个if-else
(一个数字是偶数或奇数,没有第三状态)。像或即使循环中没有
if
这样# 2 楼答案
试试这个