Codewars解题Odd or Even?奇数或偶数

本文介绍了一种简单的方法来判断给定数组中所有元素之和是奇数还是偶数,并提供了两种实现方案,一种是通过遍历数组计算奇数个数,另一种则是利用Java 8的Stream API直接求和并判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

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中的新特性

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值