问题标题: 酷町堂:3972 !(去重)排序

0
0
已解决
张帆
张帆
中级天翼
中级天翼
#include<bits/stdc++.h>
using namespace std;
int a[10001];
int main(){
    long long n;
    int h;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>h;
        a[h]++;
    }
    for(int i=0;i<n;i++){
        if(a[i]==1)
            a[i]=0;
    }
    for(int i=0;i<n;i++)
        while(a[i]--)
            cout<<i<<" ";
    return 0;
}

Only twenty

只有20


0
已采纳
吴君昊
吴君昊
新手光能
新手光能

首先

然后

    上面还有个for,自己想{
     如果(a[i]>1){
            for,j从1开始,到a【i】结束
                输出i
        }
    }
   

用我的方法,简单方便,你这个思路对,但实现有问题,祝你AC

吴君昊在2020-03-27 15:00:14追加了内容

还有,你的桶也有大问题,多练练,多刷题

0
0
沈峻宇
沈峻宇
资深天翼
资深天翼

定义桶排序了吗?

沈峻宇在2020-03-27 12:33:35追加了内容

@张帆 

不行啊!

是不是只要交一次费就可以无限换头像

0
包涵宇
包涵宇
中级天翼
中级天翼

你的思路我懂

这里

 for(int i=0;i<n;i++){
        if(a[i]==1)
            a[i]=0;
    }

应该改为

 for(int i=0;i<=10000;i++){
        if(a[i]==1)
            a[i]=0;
    }

望采纳!!!

我要回答