一、哈希表
作用:哈希表事根据关键码key的值而直接进行访问的数据结构。哈希表的作用是快速判断一个元素是否出现在集合里面。
核心思想:在关键码和存储位置之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置,这个对应关系,称为哈希函数
哈希表用来解决问题时,一般选择以下三种数据结构:
数组、set集合、map映射
例题:
题目
给定一个只包含小写字母的字符串,统计字符串中每个字母出现的频率,并找出出现频率最高的字母,如果最高频率的字母有多个,输出字典序靠前的那个字母。
输入示例
2
abcdeef
aabbccddeeff
输出示例
e
a
示例代码
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
string s;
for(int i = 0; i < n; i++) {
cin >> s;
int count[26] = {0}; // 在每次输入新字符串时重置计数数组
for(int j = 0; j < s.size(); j++) {
count[s[j] - 'a']++;
}
int max = 0;
char result;
for(int i = 0; i < 26; i++) {
if(count[i] > max) {
max = count[i];
result = i + 'a';
}
}
cout << result << endl;
}
return 0;
}