本文共 1016 字,大约阅读时间需要 3 分钟。
一、对于字符串x和y, 如果擦除x中的某些字母(有可能全擦掉或者都不擦)能够得到y,我们就称y是x的子序列。例如.”ncd”是”nowcoder”的子序列,而”xt”不是。
现在对于给定的一个字符串s,请计算出字典序最大的s的子序列。 输入描述:输入包括一行,一个字符串s,字符串s长度length(1 ≤ length ≤ 50). s中每个字符都是小写字母
输出描述:
输出一个字符串,即字典序最大的s的子序列。
示例1 输入 test
输出 tt
var str = readline();var len = str.length;var max = str[len-1];var result = str[len-1];for(var i=len-2;i >= 0;i--) { if(str[i] >= max) { result = str[i] + result; max = str[i]; }}print(result);
二、小度有一个小写字母组成的字符串s.字符串s已经被写在墙上了.
小度还有很多卡片,每个卡片上有一个小写字母,组成一个字符串t。小度可以选择字符串t中任意一个字符,然后覆盖在字符串s的一个字符之上。小度想知道在选取一些卡片覆盖s的一些字符之后,可以得到的字典序最大的字符串是什么。输入描述:
输入包括两行,第一行一个字符串s,字符串s长度length(1 ≤ length ≤ 50),s中每个字符都是小写字母 第二行一个字符串t,字符串t长度length(1 ≤ length ≤ 50),t中每个字符都是小写字母
输出描述:
输出一个字符串,即可以得到的字典序最大字符串
示例1 输入 fedcba
ee
输出 feeeba
var s = readline();var t = readline();s = s.split('');t = t.split('').sort().reverse();for(var i = 0;i < t.length;i++){ for(var j = 0;j < s.length ; j++) { if(s[j] < t[i]) { s[j] = t[i]; break; } }}print(s.join(''));
转载地址:http://kdaen.baihongyu.com/