题目:
Given an array of numbers, determine whether the sum of all of the
numbers is odd or even.Give your answer in string format as ‘odd’ or ‘even’.
If the input array is empty consider it as: [0] (array with a zero).
Example:
oddOrEven([2, 5, 34, 6]) returns “odd”. Have fun!
谷歌翻译:
给定一组数字,确定所有数字的总和是奇数还是偶数。
以字符串格式给出答案为“奇数”或“偶数”。
如果输入数组为空,则将其视为:( [0]数组为零)。
例:
oddOrEven([2, 5, 34, 6]) returns “odd”.
分析:
判断数组所有数字的总和是奇数还是偶数
偶数个奇数相加为偶数
奇数个奇数相加为奇数
偶数怎么加都是偶数
所以奇数偶数的变数在于奇数的数量,
//偶数不考虑
只需要计算出奇数的数量做以判断
以下为我的代码
public static String oddOrEven (int[] array) {
// your code
//计数
int sum = 0;
for(int i = 0 ; i <array.length;i++){
//判断是否为奇数
if(array[i]%2!=0){
//累加
sum++;
}
}
//判断奇数的数量
return sum%2==0?"even":"odd";
}
以下为评分较高的解决方案
import static java.util.Arrays.stream;
class Codewars {
static String oddOrEven(final int[] array) {
return stream(array).sum() % 2 == 0 ? "even" : "odd";
}
}
stream(array).sum()为jdk1.8中的新特性