问题标题: 酷町堂:3852 字符输出

1
1
已解决
被禁言 何冯成
何冯成
中级光能
中级光能
#include<iostream>
#include<string>
using namespace std;
string s;
int a[150];
int main(){
    cin>>s;
    for(int i=0;i<=s.size()-1;i++){
        a[s[i]]++;
    }
    for(int i=0;i<=s.size()-1;i++){
        for(int j=1;j<=a[s[i]];j++)
            cout<<s[i];
    }
    return 0;
}

@徐子玄 @李汉魁 @陆麟瑞 @酷町喵~o( =∩ω∩= )o~ 

找错

何冯成在2020-07-16 17:39:12追加了内容

AC了

问一下4383

40分代码

#include<iostream>
using namespace std;
int a[1100],b[105],maxn;
int main(){
int n,t,cnt=0;
cin>>n;
for(int i=1;i<=n;i++){
    cin>>t;
    b[t]++;
}
for(int i=105;i>=0;i--){
        if(cnt<2&&b[i]!=0){
        	cnt++;
        	cout<<i<<' ';
        }
}
return 0;
}

 

何冯成在2020-07-16 17:39:30追加了内容

@李瑞曦


0
已采纳
李瑞曦
李瑞曦
高级天翼
高级天翼

需要用双重循环,核心:

 for(int i=104;i>=1;i--)
    {
        for(int j=1;j<=a[i];j++){
            if(cnt>=2)
            {
                break;
            }
            cnt++;
            cout<<i<<" ";
        } 
        if(cnt==2)
        {
            break;
        }
    }

 

0
徐子玄
徐子玄
初级光能
初级光能

核心:

for(int i=1;i<=n;i++) {//n是运动员总数
        cin>>a[i];//每个运动员成绩
        b[a[i]]++;//桶计数
    } 
    for(int i=104;i>=1;i--)//从分数大到小遍历,前两个便是冠军和亚军
        if(b[i]!=0) {//如果有b[i]这个成绩
            cout<<i;
            ans++;
            if(ans==2)//如果已经找到冠军和亚军
                return 0;//提前结束代码,让程序更快!
        }

 

0
李瑞曦
李瑞曦
高级天翼
高级天翼

你的代码太复杂,直接内部排序就行了,

for(int i=0;i<=s.size()-1;i++){
        a[s[i]]++;
    }
    for(int i=0;i<=s.size()-1;i++){
        for(int j=1;j<=a[s[i]];j++)
            cout<<s[i];
    }

改成

sort(s.begin(),s.end());
cout<<s;

 

李瑞曦在2020-07-16 17:27:51追加了内容

别忘记头文件:algorithm

0
李瑞曦
李瑞曦
高级天翼
高级天翼

核心:

for(int i=0;i<=a.size()-1;i++)
    {
        b[a[i]]++;
    }
    for(int i=65;i<=122;i++)
    {
        for(int j=1;j<=b[i];j++)
        {
            cout<<(char)i;
        }
    }

 

0
0
康曦
康曦
中级光能
中级光能

如果冠军和亚军的成绩一样咋办

0
徐硕
徐硕
高级守护
高级守护
  • for(int i=0;i<s.size();i++){
    • a[(int)(s[i])]++;
  • }
  • for(int i=0;i<50000;i++){
    • while(a[i]--){
      • cout<<(char)(i);
    • }
  • }
我要回答