在C++中计算二维数组中的重复数可以通过以下步骤实现:
int array[][]
,并初始化数组元素。map
或unordered_map
来存储数组中的元素和它们的出现次数。这里使用unordered_map
可以提高查找效率。unordered_map
中。如果存在,则将该元素的计数加1;如果不存在,则将该元素添加到unordered_map
中,并将计数初始化为1。unordered_map
中存储了数组中每个元素及其出现的次数。unordered_map
,找到出现次数大于1的元素,并输出它们及其出现次数。以下是一个示例代码:
#include <iostream>
#include <unordered_map>
using namespace std;
void countDuplicates(int array[][3], int rows, int cols) {
unordered_map<int, int> countMap;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
int element = array[i][j];
if (countMap.find(element) != countMap.end()) {
countMap[element]++;
} else {
countMap[element] = 1;
}
}
}
for (auto it = countMap.begin(); it != countMap.end(); ++it) {
if (it->second > 1) {
cout << "Element " << it->first << " appears " << it->second << " times." << endl;
}
}
}
int main() {
int array[][3] = {{1, 2, 3}, {4, 5, 6}, {1, 2, 3}};
int rows = sizeof(array) / sizeof(array[0]);
int cols = sizeof(array[0]) / sizeof(int);
countDuplicates(array, rows, cols);
return 0;
}
这段代码中,我们定义了一个countDuplicates
函数来计算二维数组中的重复数。在main
函数中,我们创建了一个示例二维数组,并调用countDuplicates
函数进行计算。运行代码后,会输出重复的元素及其出现次数。
注意:以上代码只是一个示例,实际应用中可能需要根据具体需求进行适当修改。
领取专属 10元无门槛券
手把手带您无忧上云