n个整数 输出每个整数是第几次出现
时间: 2023-05-17 16:04:01 浏览: 71
非常感谢您的提问。这是一个典型的计数问题,可以使用哈希表来解决。首先,我们可以遍历整个整数数组,将每个整数作为键存储在哈希表中,并将其值初始化为0。然后,我们再次遍历整个数组,每当我们遇到一个整数,我们就将其对应的哈希表值加1。最后,我们可以遍历哈希表,输出每个整数及其出现次数。
以下是示例代码:
```
#include <iostream>
#include <unordered_map>
#include <vector>
using namespace std;
void countOccurrences(vector<int>& nums) {
unordered_map<int, int> counts;
for (int num : nums) {
counts[num] = 0;
}
for (int num : nums) {
counts[num]++;
}
for (auto& entry : counts) {
cout << entry.first << " occurs " << entry.second << " times." << endl;
}
}
int main() {
vector<int> nums = {1, 2, 3, 2, 1, 3, 4, 5, 4};
countOccurrences(nums);
return 0;
}
```
输出结果为:
```
1 occurs 2 times.
2 occurs 2 times.
3 occurs 2 times.
4 occurs 2 times.
5 occurs 1 times.
```
希望这个回答能够帮助您解决问题。