好吧,我必须找出一个数组中有多少个不同的数字。
例如,如果数组是:1 9 4 5 8 3 1 3 5
输出应该是 6,因为 1,9,4,5,8,3 是唯一的,而 1,3,5 是重复的(不是唯一的)。
所以,这是我到目前为止的代码……没有正常工作的想法。
#include <iostream>
using namespace std;
int main() {
int r = 0, a[50], n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int j = 0; j < n; j++) {
for (int k = 0; k < j; k++) {
if (a[k] != a[j]) r++;
}
}
cout << r << endl;
return 0;
}
原文由 user2041143 发布,翻译遵循 CC BY-SA 4.0 许可协议
请干运行您的代码在外部 for 循环中查看每个元素在内部循环中的计数不止一个。让我们说循环包含 1,2,3,4.1 ….. 元素在第二次迭代中干运行它并且第三次迭代 1 被计算在内,因为 1 是 1!=2 以及 1!=3
现在解决时间!