1041 Be Unique (20 分)
思路
用一个哈希表记录出现次数,数字和字符都可以用哈希表呀~
不然两个循环遍历会超时~
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin>>N;
int num[100005];
int boolnum[100005]={
0};
for (int i =0;i<N;i++)
cin>>num[i];
for (int i =0;i<N;i++)
boolnum[num[i]]+=1;
for (int i =0;i<N;i++)
if(boolnum[num[i]]==1)
{
cout<<num[i]<<endl;
return 0;
}
cout<<"None"<<endl;
}
超时代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N;
cin>>N;
int num[100005];
for (int i =0;i<N;i++)
cin>>num[i];
for (int i =0;i<N;i++)
{
int flag = 1;
int num1 = num[i];
for(int j=0;j<N;j++)
{
if(i==j)continue;
int num2 = num[j];
if(num1 ==num2)flag = 0;
}
if(flag){
cout<<num[i]<<endl;
return 0;}
}
cout<<"None"<<endl;
}