问题标题: 酷町堂:怎么又挂在3分题上了,//kk,服了

0
0
已解决
王子健
王子健
初级天翼
初级天翼

收拾整理字符串            经验值:800

题目描述 Description

输入一个字符串(不超过50000位),将其中的大写字母按照从大到小的顺序输出,小写按照从小到大输出。

输入描述 Input Description

一行,一个字符串s

输出描述 Output Description

两行,第一行将字符串s中的大写字母从大到小输出,用空格隔开
第二行将字符串s中的小写字母从小到大输出,用空格隔开

样例输入 Sample Input

dghssdffjJHG21568

样例输出 Sample Output

J H G d d f f g h j s s

主要是忘了字符串怎么从大往小了~用选排TLE过了1个点(吐),望大佬给出排序方法或改正,10分代码如下(服):

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
string str, Big, Small;
int main() {
    getline(cin, str);
    int len = str.size();
    for(int i=0; i<=len-1; i++) {
        if(str[i] >= 'A' && str[i] <= 'Z') Big += str[i];
        else if(str[i] >= 'a' && str[i] <= 'z') Small += str[i];
    }

    sort(Small.begin(), Small.end());
    for(int i=0; i<Big.size(); i++) {
        for(int j=i+1; j<Big.size(); j++) {
            if(Big[j] > Big[i]) swap(Big[i], Big[j]);
        }
    }
    for(int i=0; i<Big.size(); i++) cout << Big[i] << ' ';
    cout << endl;
    for(int i=0; i<Small.size(); i++) cout << Small[i] << ' ';
    return 0;
}

 


0
已采纳
黄子扬
黄子扬
初级天翼
初级天翼

优先队列

priority_queue<char>s;

一语惊醒梦中人

黄子扬在2020-08-29 16:08:32追加了内容

直接写sort也行吧

0
0
黄依成
黄依成
中级天翼
中级天翼

两个桶,大写字母装进a桶,小写字母装进b桶

从Z到A遍历a桶,输出

从a到z遍历b桶,输出

0
李素妍
李素妍
新手天翼
新手天翼

徒弟来了!

这道题要用桶

首先定义

然后输出

再接着把大写字母放入a桶小写字母放入b桶

再再接着从Z到A输出字符串中的所有大写字母

换行

再再再接着从a到z输出字符串中的所有小写字母

0
王子翔
王子翔
新手光能
新手光能

直接sort呀

for(int i=0;i<a.size();i++)
    {
        if(a[i]>='A'&&a[i]<='Z')
        {
            b+=a[i];
        }
        if(a[i]>='a'&&a[i]<='z')
        {
            c+=a[i];
        }
    }
    sort(b.begin(),b.end());
    sort(c.begin(),c.end());

其余自己写

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

用大根堆啊

priority_queue<char>q;

0
赵逸凡
赵逸凡
初级启示者
初级启示者

直接sort,手写cmp函数你应该会吧,邓涵睿、李素妍的师傅

我要回答