首页 > 代码库 > PAT1041 Be Unique

PAT1041 Be Unique

题目:PAT1041

 

题解:本来我是想放到队列里,每碰到一个和队头相同的,就把队头弹出。本以为最后队头就是结果,然后发现并不适合第二种情况。

   于是还是使用了标记的方法,对输入的数字进行标记。最后输出第一个标记为1的就行。

 

代码:

  

 1 #include<cstdio>
 2 #include<cstring>
 3 using namespace std;
 4 
 5 int num[10005],n,m[100005];
 6 bool f;
 7 
 8 int main()
 9 {
10     scanf("%d",&n);
11     f=false;
12 
13     memset(num,0,sizeof(num));
14 
15     for(int i=0;i<n;i++)
16     {
17         scanf("%d",&m[i]);
18         num[m[i]]++;
19     }
20 
21 
22     for(int i=0;i<n;i++)
23     {
24         if(num[m[i]]==1)
25         {
26             printf("%d\n",m[i]);
27             f=true;
28             break;
29         }
30     }
31 
32     if(!f) printf("None");
33 
34     return 0;
35 
36 }

 

PAT1041 Be Unique