华为OJ】【022-删除字符串中出现次数最少的字符】
题目链接:
https://blog.youkuaiyun.com/DERRANTCM/article/details/51335957
C++实现:
void main()
{
string strIn;
cin >> strIn;
map<char,int> chNum;
for (int i=0;i<strIn.size();i++)
{
char ch = strIn.at(i);
if (chNum.find(ch) != chNum.end())
{
chNum[ch] += 1;
}
else
chNum[ch] = 1;
}
int minTime = 1000000;
for (map<char,int>::iterator it=chNum.begin();it != chNum.end();it++)
{
if(it->second < minTime)
minTime = it->second;
}
set<char> chSet;
for (map<char,int>::iterator it=chNum.begin();it != chNum.end();it++)
{
if(it->second == minTime)
chSet.insert(it->first);
}
string strOut = "";
for (int i=0;i<strIn.size();i++)
{
char ch = strIn.at(i);
if (chSet.find(ch) == chSet.end())
strOut.append(1,ch);
}
cout << strOut << endl;
system("pause");
}