c++实现给定一个由大写字母组成的长度为 n 的字符串,请在字符串中删除 m 个字符,使得剩下的字符串的字典序最小。 输入格式 输入的第一行包含两个整数 n, m ,用一个空格分隔。 第二行包含一个长度为 n 的
时间: 2024-06-13 09:06:00 浏览: 173
以下是C++实现给定一个由大写字母组成的长度为n的字符串,请在字符串中删除m个字符,使得剩下的字符串的字典序最小的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
int n, m;
string s;
cin >> n >> m >> s;
for (int i = 0; i < n && m; i++) {
if (i + 1 < n && s[i] > s[i + 1]) {
s.erase(i, 1);
m--;
i = -1;
}
}
while (m--) s.pop_back();
cout << s << endl;
return 0;
}
```
相关问题
c++给定一个由大写字母组成长度为n的字符串,请在字符串中删除m个字符,使得剩下的字符串的字典序最小
以下是C++实现给定一个由大写字母组成长度为n的字符串,请在字符串中删除m个字符,使得剩下的字符串的字典序最小的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
int m;
cin >> s >> m;
string ans = "";
for (char c : s) {
while (m && ans.size() && ans.back() > c) {
ans.pop_back();
m--;
}
ans.push_back(c);
}
while (m--) ans.pop_back();
cout << ans << endl;
return 0;
}
```
使用C++代码实现 给定一个由大写字母组成的长度为 n 的字符串,请在字符串中删除 m 个字符,使得剩下的字符串的字典序最小。
以下是使用C++代码实现给定一个由大写字母组成的长度为 n 的字符串,请在字符串中删除 m 个字符,使得剩下的字符串的字典序最小的方法:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
int m;
cin >> s >> m;
string ans = "";
for (char c : s) {
while (m && ans.size() && ans.back() > c) {
ans.pop_back();
m--;
}
ans.push_back(c);
}
while (m--) ans.pop_back();
cout << ans << endl;
return 0;
}
```
阅读全文