码迷,mamicode.com
首页 > 编程语言 > 详细

算法设计与分析 1.5 我想静静

时间:2019-12-15 16:42:10      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:整数   背景   现在   世界   不重复   ++   对不起   编号   code   

★题目描述

众所周知,静静是 FFF 团的荣誉团长。每当单身狗孤独寂寞冷的时候,只要说一句“对不起,我想静静。”便能短暂的告别这冷酷的世界,获得片刻心灵的慰藉。但是,火把节的前夕,众团员正摩拳擦掌准备大烧一场时,静静竟然被情侣们包围了!!身为 FFF 团 35 级火系魔法师的你已经坐不住了,现在就准备出发去拯救静静!

每对情侣(两个人)有一个编号(保证每对情侣的编号不重复),给静静一个单独的编号。现在,你的任务就是尽快从人群中找到静静并把他拯救出来!

什么,你看懂了背景故事却不知道要做什么?问题是这样的:给定一个数组,除了一个数只出现一次以外,其他数都出现了两次。你要做的就是找出只出现一次的数。

★输入格式

输入第一行为一个数 N,代表一共有 N 个人。

接下来一行有 N 个整数,表示他们的编号。

对于50%的数据,N <= 2000。

对于80%的数据,N <= 200000。

对于100%的数据,N <= 2000000且为奇数,编号的范围在int范围内且非负。

★输出格式

输出只出现了一次的那个数。

★样例输入

5
1 1 0 2 2

★样例输出

0

★提示

输入规模较大,请使用scanf/printf。

/*
使用异或
交换律:a ^ b ^ c <=> a ^ c ^ b
相同的数异或为0: n ^ n => 0
任何数于0异或为任何数 0 ^ n => n
*/
#include<bits/stdc++.h>

int main(){
    int n, a;
    scanf("%d",&n);
    
    int res=0;
    while(n--){
        scanf("%d",&a);
        res ^= a;
    } 
    printf("%d",res);
    return 0;
}

算法设计与分析 1.5 我想静静

标签:整数   背景   现在   世界   不重复   ++   对不起   编号   code   

原文地址:https://www.cnblogs.com/yejifeng/p/11600204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!