题目描述 Being unique is so important to people on Mars that even their lottery is designed in a unique way. The rule of winning is simple: one bets on a number chosen from [1, 104]. The first one who bets on a unique number wins. For example, if there are 7 people betting on 5 31 5 88 67 88 17, then the second one who bets on 31 wins. 输入 Each input file contains one test case. Each case contains a line which begins with a positive integer N (<=105) and then followed by N bets. The numbers are separated by a space. 输出 For each test case, print the winning number in a line. If there is no winner, print “None” instead. 样例输入 Copy 7 5 31 5 88 67 88 17 5 888 666 666 888 888 样例输出 Copy 31 None
分析题意,输入一个N,代表例子中有N个数,然后要输出第一个唯一的数,其中要明白两点,第一是唯一,第二是第一个唯一。
典型的利用下标来表示数,利用元素值来表示数量
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int main(){ int N; while(scanf("%d",&N)!=EOF){ int a[10010] = {0}; int num[N]; int tag = 0; for(int i=0;i<N;i++){ scanf("%d",&num[i]); a[num[i]]++; } bool flag = false; for(int i=0;i<N;i++){ if(a[num[i]]==1){ printf("%d\n",num[i]); flag = true; break; } } if(flag == false){ printf("None\n"); } } return 0; }一切代码都是AC过的,坚持原创 关注算法,打赏并留言,会和小新成为志同道合的好友哦