3 、字符覆盖
【 题目描述】小度有一个小写字母组成的字符串 s.字符串 s 已经被写在墙上了.
小度还有很多卡片,每个卡片上有一个小写字母,组成一个字符串 t。小度可以选择字符串 t 中任意一个字
符,然后覆盖在字符串 s 的一个字符之上。小度想知道在选取一些卡片覆盖 s 的一些字符之后,可以得到的
字典序最大的字符串是什么。
输入描述: :
输入包括两行,第一行一个字符串 s,字符串 s 长度 length(1 ≤ length ≤ 50),s 中每个字符都是小写字
母
第二行一个字符串 t,字符串 t 长度 length(1 ≤ length ≤ 50),t 中每个字符都是小写字母
输出描述: :
输出一个字符串,即可以得到的字典序最大字符串
输入示例: :
fedcba
ee
输出示例:
feeeba
思路://对s从头开始遍历,t中字符从大到小找到首个字符>s[i],替换,并把t[j]置为0.
//t中非0字符个数为0时,结束循环
这里把字符改成了数字,看起来更直观。
#include<iostream>
#include<string>
#include <algorithm>
using namespace std;
int cmp(int a, int b)
{
return a > b ? 1 : 0;
}
int main()
{
string s="21258";
string t="68";
int cnt = t.size();
//对s从头开始遍历,t中字符从大到小找到首个字符