//思想:哈希表
/*#include <iostream>
#include <string>
using namespace std;
int main()
{
int len , min;
int a[26];//用于存储每个字符出现的次数
string str, temp;
while(cin >> str)//输入多组数据
{
for(int i = 0; i < 26; i++)
a[i] = 0;//一开始每个字符都是0次
len = str.size();//字符串长度
for(int i = 0; i < len; i++)
a[str[i] - 'a']++;//遍历字符串,累加每个字符出出现的次数
min = a[str[0] - 'a'];
for(int i = 0; i < len; i++)
{
if(a[str[i] - 'a'] <= min)//找出出现次数最少的字符的出现次数
min = a[str[i] - 'a'];
}
for(int i = 0; i < len; i++)
{
if(a[str[i] - 'a'] > min)//输出大于最小次数的所有字符
cout << str[i];
}
cout << endl;
}
return 0;
}*/
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
map<char, int> mymap;
string str;
while (cin >> str)
{
mymap.clear(); //!!!!注意清空否则下一个会出错
for (int i = 0; i < str.size(); i++)
mymap[str[i]]++;
int min = mymap[str[0]]; //初试第一个字符的次数为最小值
for (int i = 0; i < str.size(); i++)
{
if (mymap[str[i]] <= min)
min = mymap[str[i]];
}
for (int i = 0; i < str.size(); i++) //输出时避开最小次数的字符
{
if (mymap[str[i]] > min)
cout << str[i];
}
cout<<endl;
}
return 0;
}
删除字符串中出现次数最少的字符
最新推荐文章于 2023-05-04 19:27:02 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)