题目描述
给定一个单词,请问在单词中删除 t 个字母后,能得到的字典序最小的单词是什么?
输入描述
输入的第一行包含一个单词,由大写英文字母组成。第二行包含一个正整数 t。其中,单词长度不超过 100, t 小于单词长度。
输出描述
输出一个单词,表示答案。
输入输出样例
示例 1
输入LANQIAO
3
输出AIAO
运行限制
最大运行时间:1s
最大运行内存: 128M
我的思路是先把字符转数字,然后排序(后面就是大的删除掉)然后在转字符与原来字符串的比较相同的就输出
我的样例结果是LAIA
为什么不一样啊🥹🥹
-------------——-----------------------
#include
#include
using namespace std;
int main()
{
string a;
cin>>a;
int n,i,t,j=0;
cin>>t;
n=a.size();
int b[n];
char c[n];
for(i=0;i'A';
sort(b,b+n);
for(i=0;i'A';
for(i=0;ifor(j=0;jif(c[j]==a[i])
{cout<break;}
return 0;
}
剩下的字符的相对位置不能改变
#include<iostream>
#include<stdio.h>
using namespace std;
int main(){
int num[1001] = {0},n,number;
cin>>n; //输入数据的个数
for(int i=0;i<n;i++){
cin>>number;
num[number]++;
}
//依次遍历从1000到0的桶
for(int i=1000;i>0;i--){
for(int j=1;j<=num[i];j++){
cout<<i<<" "; //出现了几次就打印几次
}
}
return 0;
}