2020蓝桥杯省赛真题 单词分析(暴力)

45 阅读1分钟

 

该题思路比较简单且容易想到,由于该题数据不是很大,我们直接遍历整个字符串即可,同时遇到字母就将其对应数组的位置计数++即可(使用ASCII码联系数组下标与字母)

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include <iomanip>
#include<cmath>
using namespace std;
char alph[26] = { 0 };
int maxn = 0;
int main()
{
	string input;
	int index;
	cin >> input;
	for (int i = 0; i < input.length(); i++)
	{
		if (input[i] - 'a' >= 0 && input[i] - 'a' <= 25)
		{
			alph[input[i] - 'a']++;//对应字母数量++
		}
	}
	for (int i = 0; i < 26; i++)
	{
		if (alph[i] > maxn)//找最大(从a开始,找到的最大也是字典序最小的)
		{
			maxn = alph[i];
			index = i;
		}
	}
	cout << (char)('a' + index) << endl;
	cout << maxn << endl;
	return 0;
}