题解:A126.明明的随机数
2026-04-07 17:00:03
发布于:北京
2阅读
0回复
0点赞
#include<iostream>
using namespace std;
int num = 0; // 记录不重复数字的个数
int biaoji[1002]; // 标记数组,用于记录数字是否出现过,索引代表数字
int main() {
int n, x; // n: 输入数字个数,x: 临时存储输入的数字
cin >> n; // 读取数字个数
// 初始化标记数组,注意数组下标范围是0~1001
// 这里遍历1~1001,确保不会越界访问
for(int i = 1; i <= 1001; i++) {
biaoji[i] = 0; // 初始化为0,表示所有数字都未出现过
}
// 读取n个数字并去重
for(int i = 1; i <= n; i++) {
cin >> x; // 读取一个数字
// 如果这个数字已经出现过,跳过
if(biaoji[x]) {
continue;
}
// 否则,标记这个数字已出现,并计数
biaoji[x]++; // 标记为已出现(实际只需要标记为1即可)
num++; // 不重复数字数量加1
}
// 输出不重复数字的个数
cout << num << endl;
// 按升序输出所有不重复的数字
// 由于数字范围是1~1000,遍历这个范围即可
for(int i = 1; i <= 1000; i++) {
if(biaoji[i]) { // 如果数字i出现过
cout << i << ' '; // 输出该数字
}
}
cout << endl; // 输出换行
return 0; // 程序正常结束
}
制作题解不易,麻烦点个赞,再点个关注,谢谢
原创@零域LingYu
@零域LingYu
这里空空如也







有帮助,赞一个