找球号

通过排序和计数的方法,从一组编号中找出缺失的那一个,适用于编号为偶数倍但丢失一个的情况。

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

描述

xiaod现在正在某个球场负责网球的管理工作。为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数。有一天,xiaod发现少了一个球,你能帮他找出丢的那个球的球号吗?

 

输入

有多组测试数据。每组数据包括两行。

第一行是一个整数N(0<N<1000000),表示现在所剩的球数。

随后的一行是N个数,表示所剩的各个球的编号M(0<M<10^9)。

输出

对于每组数据,输出弄丢的那个球的球号。

样例输入

5

1 1 3 6 6

3

1 2 1

样例输出

3

2



方法一:

	public static void main(String[] args){  
		Scanner sc=new Scanner(System.in);  
		int a=sc.nextInt();  
		int[] i=new int[a];  
		for(int b=0;b<a;b++){  
			i[b]=sc.nextInt();  
		}  
		Arrays.sort(i);  
		int k=1;
		for(int b=i.length-1;b>0;b--){  
             
            if(i[b]==i[b-1]){  
                k++;  
            }  
            if(i[b]!=i[b-1]&&k%2!=0){  
                System.out.println(i[b]);  
                
            }  
            if(i[b]!=i[b-1]) {
            	k=1;
            }
        }  
    } 



方法二:

	public static void main(String[] args){  
        Scanner sc=new Scanner(System.in); 
        int flag=0;
        int a=sc.nextInt();  
        int[] i=new int[a];  
        for(int b=0;b<a;b++){  
            i[b]=sc.nextInt();  
        }  
        Arrays.sort(i);  
        for(int b=0;b<a-1;b+=2){  
        	
            int k=1;  
            if(i[b]==i[b+1]){  
                k++;  
            }  
            if(i[b]!=i[b+1]&&k%2!=0){  
                System.out.println(i[b]);  
                b-=1;
                flag=1;
            }  
        } 
        if(flag==0){
        	System.out.println(i[a-1]);
        }
    } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值