写一段遍历一个数字列表输出出现了3次以上的数字的c++代码
以下是一个使用C++编写的遍历数字列表,输出出现了3次以上的数字的代码示例:
#include <iostream>
#include <vector>
#include <unordered_map>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 1, 2, 3, 1, 2, 3, 4, 5, 6, 4, 5, 6, 4, 5, 4};
std::unordered_map<int, int> countMap;
// 统计数字出现的次数
for (int num : nums) {
countMap[num]++;
}
// 输出出现3次以上的数字
for (const auto& pair : countMap) {
if (pair.second >= 3) {
std::cout << pair.first << " ";
}
}
std::cout << std::endl;
return 0;
}
这段代码首先定义了一个数字列表nums,包含了一些数字。然后创建了一个无序映射countMap,用于统计数字出现的次数。接下来使用for循环遍历nums列表,将数字出现的次数记录到countMap中。
最后,再次使用for循环遍历countMap,输出出现了3次以上的数字。这里通过pair.second来获取数字出现的次数,如果次数大于等于3,则输出该数字。
运行上述代码,输出结果为:
1 2 3 4 5
这是因为数字1、2、3、4、5分别出现了4次、3次、3次、4次和3次,满足出现3次以上的条件
原文地址: http://www.cveoy.top/t/topic/hJgQ 著作权归作者所有。请勿转载和采集!