题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
#include<bits/stdc++.h>
using namespace std;
string del_min(string& s) {
int arr[26] = {0};
int i, j;
for (i = 0; i < 26; i++) {
arr[i] = count(s.begin(), s.end(), char(i + 'a'));
}
int min = *(max_element(arr, arr + 26));
for (i = 0; i < 26; i++) {
if (arr[i] > 0 && arr[i] < min) min = arr[i];
}
string s1 = "";
for (j = 0; j < s.size(); j++) {
if (arr[s[j] - 'a'] > min) s1 += s[j];
}
return s1;
}
int main() {
string s;
cin >> s;
cout << del_min(s);
return 0;
}
count(字符串开始,结尾,统计字符)函数
*()引用迭代器,max_element(开始指针,结束指针)函数统计得到最大值(为排除为0的情况)

查看12道真题和解析