百度 字符覆盖 字符串
题目描述
小度有一个小写字母组成的字符串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;
}