#include<bits/stdc++.h>
using namespace std;
int a[1000010];
bool are(int n)
{
map<int,bool>mp;
for(int i=1;i<=n;i++)
{
if(mp[a[i]]==true)
return false;
mp[a[i]]=true;
}
return true;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
if(are(n))
cout<<"没有重复"<<endl;
else
cout<<"有重复"<<endl;
return 0;
}
这份代码是用来判断一个序列内有没有重复的。
之前学的map,最近突然想出了这种写法。问,这种写法浪费时间,空间吗?有更好的解法吗?