题目描述
给定一个单词,请问在单词中删除 t 个字母后,能得到的字典序最小的单词是什么?
输入描述
输入的第一行包含一个单词,由大写英文字母组成。
第二行包含一个正整数 t。
其中,单词长度不超过 100,t 小于单词长度。
输出描述
输出一个单词,表示答案。
输入输出样例
示例 1
输入
LANQIAO
3
输出
AIAO
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
思路:
join()方法语法:
str.join(sequence)
参数
- sequence -- 要连接的元素序列。
返回值
返回通过指定字符连接序列中元素后生成的新字符串。
实例
以下实例展示了join()的使用方法:
>>> ls = ['python','hello','world']
>>> s1 = '$'
>>> s1.join(ls)
'python$hello$world'
>>> s2 = ' '
>>> s2.join(ls)
'python hello world'
字典序基础
字典序(dictionary order),又称 字母序(alphabetical order),原意是表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。
英文中的 字母表(Alphabet) 按照如下的顺序排列:
ABCDEFG HIJKLMN OPQRST UVWXYZ
abcdefg hijklmn opqrst uvwxyz
在字典中,单词是按照首字母在字母表中的顺序进行排列的,比如 alpha 在 beta 之前。而第一个字母相同时,会去比较两个单词的第二个字母在字母表中的顺序,比如 account 在 advanced 之前,以此类推。下列单词就是按照字典序进行排列的:
as
aster
astrolabe
astronomy
astrophysics
at
ataman
attack
baa
题解
当删除第一个元素使得字典序最小的时候,应该在第一个字符和第二个字符里面比较
。。。
删除三个元素如下:
ls = list(input())
cnt = int(input())
for i in range(cnt):
ls.remove(max(ls[0],ls[1]))
print(''.join(ls))
感悟
输入的字符号串被列表化之后,每个字符及时列表的一个元素