题目描述
给定一个单词,请问在单词中删除 t 个字母后,能得到的字典序最小的单词是什么?
输入描述
输入的第一行包含一个单词,由大写英文字母组成。
第二行包含一个正整数 t。
其中,单词长度不超过 100,t 小于单词长度。
输出描述
输出一个单词,表示答案。
输入输出样例
示例 1
输入
LANQIAO
3
输出
AIAO
思路:
!!!要使得字典序最小就是,减短字符的同时让位于前面的字母更小,所以只需要从前面进行两两比较,若位于前面的大于后面的ASC||码,则删除前面的!!!
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s;
int t;
cin>>s;
cin>>t;
while(t--)
{
for(int i=0;i<s.length()-1;i++)
{
if(s[i]>s[i+1])
{
s.erase(i,1);
break;//找到一对相反的就break;size/length需要更新
}
}
}
cout<<s<<endl;
return 0;
}