A1041 Be Unique (20 分)

一、技术总结

  1. 这题在思考的时候遇见了,不知道怎么处理输入顺序问题,虽然有记录每个的次数,事后再反过来需要出现一次的且在第一次出现,
    这时我们其实可以使用另一个数组用来存储输入顺序的字符,然后再用另一个数组记录出现的次数,这样就可以解决这个问题了。
  2. 如果使用cin出现运行超时的情况可以改用scanf,但是这个我运行的时候没有出现超时。
  3. 我把下列代码
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;
}
posted @ 2019-11-07 11:48  睿晞  阅读(108)  评论(0编辑  收藏  举报