博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常见编程题 - 字典序
阅读量:3904 次
发布时间:2019-05-23

本文共 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/

你可能感兴趣的文章
哈希桶处理哈希冲突
查看>>
位图(BitMap)&& 布隆过滤器(BloomFilter)
查看>>
总结: 笔试中常见virtual函数问题
查看>>
vue中使用mock模拟后端数据
查看>>
常见的数据库有哪几种?
查看>>
Java后端的SQL语句
查看>>
注意:eclipse使用自己的编译器
查看>>
蓝牙休闲娱乐平台(毕业设计)第七部份
查看>>
emacs24中stardict 的使用(查英语单词)
查看>>
Class对象的获取方法
查看>>
URI与URL的区别
查看>>
关于鼓励、加油的英语句子
查看>>
AWT事件的继承关系图
查看>>
设计模式之迭代器(Iterator Pattern)-笔记
查看>>
Python入门(P_SDK的安装与使用)
查看>>
为什么XML文档的格式是否规范如此重要呢?为何W3C规定XML处理器不应尝试修复不规范的文档
查看>>
编写高效的Android代码
查看>>
位运算符的使用总结(编辑网络的资源)
查看>>
RMS使用时要注要的地方
查看>>
android简单demo学习系例之菜单实现
查看>>