📅  最后修改于: 2023-12-03 15:26:11.239000             🧑  作者: Mango
该C++程序使用哈希表来确定数组中最不频繁的元素。它遍历给定数组中的每个元素,并计算元素出现的次数。然后,使用哈希表来存储每个元素及其相应的计数。最后,它找出哈希表中计数最低的元素,并将其作为最不频繁元素返回。
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
int main() {
vector<int> v { 1, 2, 3, 4, 1, 4, 3, 2, 5 };
unordered_map<int, int> freq;
for (const auto& i : v) {
freq[i]++;
}
int least_freq = INT_MAX;
int least_freq_num = INT_MAX;
for (const auto& pair : freq) {
int num = pair.first;
int count = pair.second;
if (count < least_freq) {
least_freq = count;
least_freq_num = num;
}
}
cout << "Least frequent number: " << least_freq_num << endl;
return 0;
}
上述代码的输出结果为:
Least frequent number: 5
哈希表可用于快速查找最不频繁的元素。此程序演示了如何使用 std::unordered_map 创建哈希表,并使用其来计算元素出现次数和查找最不频繁的元素。