📌  相关文章
📜  查找出现奇数次的数字的Java程序(1)

📅  最后修改于: 2023-12-03 15:26:36.946000             🧑  作者: Mango

查找出现奇数次的数字的Java程序

程序介绍

本程序通过输入一个整型数组,查找出现奇数次的数字。具体思路是利用异或运算,将数组中所有的数字进行异或运算,最终结果即为只出现奇数次的数字的异或结果。然后再遍历数组,利用异或运算分别与最终结果进行异或运算,最终结果不为0的即为只出现奇数次的数字。

代码实现
public class FindOddNum {
    public static int findOddNum(int[] nums) {
        int res = 0;
        for (int num : nums) {
            res ^= num;
        }
        return res;
    }

    public static void main(String[] args) {
        int[] nums = {1, 2, 2, 3, 3, 4, 4, 5, 5};
        int result = findOddNum(nums);
        System.out.println(result);
    }
}
代码解释
  1. 定义一个静态方法 findOddNum(int[] nums),参数为整型数组 nums。返回值为只出现奇数次的数字的异或结果。

  2. 在方法中,定义一个整型变量 res,初始化为0。使用 for-each 循环遍历数组 nums,对于每一个数字,使用异或运算与 res 进行异或运算,最终结果即为只出现奇数次的数字的异或结果。

  3. 在主函数中,定义一个整型数组 nums,初始化为示例数据。调用 findOddNum 方法,将结果存入变量 result 中。最后输出 result 的值。

测试结果

运行程序后,输出结果为 1,符合预期。