题解 | 明明的随机数
明明的随机数
https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
这道题没有难度,只需要定义一个足够容纳所有输入数据的数组,随后将所有输入数据记录在数组中的对应下标即可。
对于C++而言,由于我们已经提前知道了输入数据的范围,因此可以采用std::array和std::vector两种容器来实现缓存。
不过考虑到,std::vector针对bool类型的特化版本有一定的优化,因此这里我使用的是std::vector
#include <iostream>
#include <vector>
int main() {
// 缓存随机整数是否出现过
std::vector<bool> found(501, false);
// 输入数据
int size;
std::cin >> size;
int num;
for(int i = 0; i < size; ++i){
std::cin >> num;
found[num] = true;
}
// 删除结果
for(int i = 1; i < 501; ++i){
if(found[i]) std::cout << i << std::endl;
}
}

查看3道真题和解析