百度 字符覆盖 字符串

题目描述

小度有一个小写字母组成的字符串s.字符串s已经被写在墙上了.
小度还有很多卡片,每个卡片上有一个小写字母,组成一个字符串t。小度可以选择字符串t中任意一个字符,然后覆盖在字符串s的一个字符之上。小度想知道在选取一些卡片覆盖s的一些字符之后,可以得到的字典序最大的字符串是什么。

输入描述:

输入包括两行,第一行一个字符串s,字符串s长度length(1 ≤ length ≤ 50),s中每个字符都是小写字母第二行一个字符串t,字符串t长度length(1 ≤ length ≤ 50),t中每个字符都是小写字母

输出描述:

输出一个字符串,即可以得到的字典序最大字符串

示例1

输入

fedcba
ee

输出

feeeba
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn = 1e2+5;
int main()
{
    string s1;
    char s2[maxn];
    while(cin>>s1)
    {
        scanf("%s",s2);
        int len1=s1.length();
        int len2=strlen(s2);
        sort(s2,s2+len2);
        //cout<<s2<<endl;
        for(int i=len2-1;i>=0;--i)
        {
            for(int j=0;j<len1;++j)
            {
                if(s2[i]>s1[j])
                {
                    s1[j]=s2[i];
                    break;
                }    
            }
        }
        cout<<s1<<endl;
    }
    return 0;
}
Last modification:January 12th, 2020 at 12:45 am
如果觉得我的文章对你有用,请随意赞赏