首页 > 试题广场 >

在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数

[编程题]在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数
  • 热度指数:1919 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给一个数组arr,其中只有一个数出现了奇数次,其它数出现了偶数次,打印这个数。

输入描述:
输出包含两行,第一行包含一个整数n,代表数组arr长度,第二行有n个数,代表数组arr


输出描述:
输出一个整数,代表出现次数为奇数次的那个数。
示例1

输入

5
3 1 3 1 2

输出

2
示例2

输入

3
6 6 3

输出

3

备注:
时间复杂度,额外空间复杂度
import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int count = sc.nextInt();
        int[] arr = new int[count];
        int res = 0;
        for(int i=0;i<count;i++){
            arr[i] = sc.nextInt();
            res ^= arr[i];
        }
        System.out.println(res);
    }
}

发表于 2022-01-13 11:08:20 回复(0)
import java.util.Scanner;
import java.util.Arrays;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] arr=new int[n];
        for(int i=0;i<n;i++){
            arr[i]=sc.nextInt();
        }
        Arrays.sort(arr);
        for(int i=0;i<n-1;){
            if(arr[i]!=arr[i+1]){
                System.out.print(arr[i]);
                break;
            }
            i=i+2;
        }
    }
}

发表于 2021-03-31 14:08:20 回复(0)
    public static void test(int[] data) {
        //题解: 例如 5^5=0。
        
        int flag = 0;
        for (int ele : data) {
            flag = flag ^ ele;
        }
        System.out.println(flag);
        
    }

发表于 2020-06-25 18:50:56 回复(0)