首页 > 代码库 > 华为机试—频率最小的字符

华为机试—频率最小的字符

输入一个字符串,输出出现次数最少,或者说出现频率最小的字符。


#include <iostream>
#include <string>
using namespace std;

int main()
{
	string s;
	cin>>s;
	int fre[26];
	memset(fre,0,sizeof(fre));

	for (int i=0;i<s.size();i++)
		fre[s[i]-'a']++;

	int min=9999,k=0;
	for (i=0;i<26;i++)
	{
		if (fre[i]<min&&fre[i]!=0)
		{
			min=fre[i];
			k=i;
		}
	}
	
	cout<<(char)(k+'a')<<endl;

	return 0;
}


测试结果,可能想的不周全,欢迎查漏补缺:

技术分享

华为机试—频率最小的字符