2
已解决
王梓澳
中级光能
中级光能
题目:
1066 去重
题目描述 Description
一整型序列,可能存在相同的元素,请去掉重复的元素且只保留一个,输出经过去重的序列。若没有重复的元素,则输出原序列。
输入描述 Input Description
输入为两行:
第一行包含一个整数N,为序列的长度(N≤100);
第二行为N个整数(0~10000)。
输出描述 Output Description
若有重复的元素,输出去重后的序列,否则,输出原序列。
样例输入 Sample Input
10
1 2 3 1 2 3 4 5 6 10
样例输出 Sample Output
1 2 3 4 5 6 10
数据来源 Source
酷町堂原创
题目网址:1066 去重
1
已采纳
陆麟瑞
资深天翼
资深天翼
一个桶,速度超快。比楼上那些程序要好。
for(int i=0; i<n; i++) if(c[a[i]]==true) { c[a[i]]=false; cout<<a[i]<<' '; }
bool c[10001];从要定义成布尔型。
3
蒋智航
高级天翼
高级天翼
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(a[i]==a[j])
a[j]=-1;
for(int i=0;i<n;i++)
if(a[i]!=-1)
0
0
周天睿
初级光能
初级光能
for(int i=0;i<=n;i++)
cin>>a[i];
for(int i=0;i<n-1;i++)
for(int j=i+1;j<=n;j++)
if(a[i]==a[j])
a[j]=-1;
for(int i=0;i<n;i++)
if(a[i]!=-1)
以上是核心代码
0
黄俊博
资深光能
资深光能
直接用桶排序,挺方便的。 for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(a[i]==a[j]) { a[j]=-1; } } } for(int i=0;i<n;i++) { if(a[i]!=-1) cout<<a[i]<<" "; }
0
0
鲍纪元
高级守护
高级守护
bool s[10100]; int a[10100]; int main() { int n,i,j; cin>>n; memset(s,true,sizeof (s)); for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) { if(s[i]) for(int j=i+1;j<=n;j++) if(a[i]==a[j]) s[j]=false; } for(i=1;i<=n;i++) if(s[i]==true) cout<<a[i]<<" ";
0
臧启亚
初级光能
初级光能
核心部分:
for(int i=1;i<=n-1;i++)
for(int j=i+1;j<=n;j++)
if(a[i]==a[j]) {
a[j]=-1;
}
for(int i=1;i<=n;i++) {
if(a[i]!=-1)
cout<<a[i]<<" ";
}
0
张睿杰
初级天翼
初级天翼
定义n,c[101],bz=0;
输入n
for(int i=0;i<=n-1;i++) cin>>a[i];
for(int i=0;i<=n-1;i++)
{
// cout<<i<<endl;
c[i]=a[i];
for(int j=0;j<=i-1;j++)
{
if(c[j]==a[i])
{
bz=1;
break;
}
}
if(bz==1) bz=0;
else cout<<a[i]<<' ';
}
0
0