实用题解 方法五花八门(给出较优的两种)
2025-08-17 20:19:03
发布于:上海
20阅读
0回复
0点赞
分别是内存小和时间小两种,可以择优选择。
第一种以输入顺序为下标 MAX n=5000,可以承受并且内存较小。
第二种以输入数字为下标 每次标记已经出现过的数字,时间较快但MAX ai=1000000,内存较大。
#include<cstdio>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
int a[5000];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++)
{
if(!a[i])continue;
for(int j=i+1;j<n;j++)
{
if(!a[j])continue;
if(a[i]==a[j])a[j]=0;
}
printf("%d%c",a[i],' ');
}
}
#include<cstdio>
using namespace std;
int main()
{
int n,x;
scanf("%d",&n);
int a[1000000];
for(int i=0;i<n;i++)
{
scanf("%d",&x);
if(a[x]==0)
{
printf("%d%c",x,' ');
a[x]++;
}
}
}
全部评论 1
这个人的题解太有用了!赶紧点个赞
2025-08-17 来自 上海
1
有帮助,赞一个