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;
}

猜你喜欢

转载自www.cnblogs.com/tsruixi/p/11811200.html