题目描述
明明生成了
𝑁
N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
数据范围: 1≤n≤1000 ,输入的数字大小满足 1≤val≤500
题解
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
int main() {
int N;
std::cin >> N; // 读取随机整数的个数
std::set<int>
uniqueNumbers; // 使用set来自动去除重复的数字并保持唯一性
for (int i = 0; i < N; ++i) {
int num;
std::cin >> num; // 读取每个随机整数
uniqueNumbers.insert(num); // 插入到set中,自动去重
}
// 将set转换为vector以进行排序
std::vector<int> sortedNumbers(uniqueNumbers.begin(), uniqueNumbers.end());
std::sort(sortedNumbers.begin(), sortedNumbers.end()); // 排序vector
// 输出排序后的结果
for (int num : sortedNumbers) {
std::cout << num << std::endl;
}
return 0;
}