(PAT Basic Level)1122 找奇葩

在一个长度为 n 的正整数序列中,所有的奇数都出现了偶数次,只有一个奇葩奇数出现了奇数次。你的任务就是找出这个奇葩。

输入格式:

输入首先在第一行给出一个正整数 n(≤104),随后一行给出 n 个满足题面描述的正整数。每个数值不超过 105,数字间以空格分隔。

输出格式:

在一行中输出那个奇葩数。题目保证这个奇葩是存在的。

输入样例:

12
23 16 87 233 87 16 87 233 23 87 233 16

输出样例:

233

代码长度限制

16 KB

时间限制

250 ms

内存限制

64 MB

注:本题我用的方法是直接将number[i]作为count数组的索引,最后遍历数组的时候只需要遍历奇数即可(步长为2)

AC代码如下:

#include 
using namespace std;
int main(){
    int n;
    cin>>n;
    int number[10001];
    int count[100001]={0};
    for(int i=0;i>number[i];
        count[number[i]]++;
    }
    for(int i=1;i<100001;i+=2){
        if(count[i]%2){
            cout<

(PAT Basic Level)1122 找奇葩_第1张图片

你可能感兴趣的:(PAT(Basic,Level),算法,c++)