C++ 算法题:去除重复数字并排序
C++ 算法题:去除重复数字并排序
问题描述
给你 N 个数 (n <= 100),每个数都在 (0~1000) 之间,其中有很多重复的数字,请将重复的数字只保留一个,并将剩下的数由小到大排序并输出。
输入描述
输入有 2 行,
第 1 行为 1 个正整数,表示数的个数: N
第 2 行有 N 个用空格隔开的整数。
输出描述
第 1 行为 1 个正整数 M,表示不相同数的个数。
接下来的 M 行,每行一个整数,表示从小到大排好序的不相同的数。
用例输入 1
1020 40 32 67 40 20 89 300 400 15
用例输出 1
8152032406789300400
代码实现c++#include
int main() { int N; cin >> N; vector
代码解析
- 使用
vector容器存储输入的数字。2. 使用sort函数对vector进行排序。3. 遍历排序后的vector,将第一个数字放入uniqueNums容器,并比较当前数字和前一个数字是否相同,若不同则将当前数字加入uniqueNums容器。4. 输出uniqueNums容器的大小,以及每个数字。
注意
- 输入的数字个数 N 必须小于等于 100。* 每个数字必须在 0 到 1000 之间。
原文地址: https://www.cveoy.top/t/topic/qnJz 著作权归作者所有。请勿转载和采集!