一、技术总结
- 这题在思考的时候遇见了,不知道怎么处理输入顺序问题,虽然有记录每个的次数,事后再反过来需要出现一次的且在第一次出现,
这时我们其实可以使用另一个数组用来存储输入顺序的字符,然后再用另一个数组记录出现的次数,这样就可以解决这个问题了。 - 如果使用cin出现运行超时的情况可以改用scanf,但是这个我运行的时候没有出现超时。
- 我把下列代码
int number[N];
改成
int number[10010];
然后提交出现段错误。不知道什么原因。。。。。
二、参考代码:
#include<iostream>
using namespace std;
int hashTable[10010];
int main(){
int N;
cin >> N;
int number[N];
int index = -1;
for(int i = 0; i < N; i++){
cin >> number[i];
hashTable[number[i]]++;
}
for(int i = 0; i < N; i++){
if(hashTable[number[i]] == 1){
index = number[i];
break;
}
}
if(index == -1){
cout << "None";
}else{
cout << index;
}
return 0;
}