数字去重(set)

题目描述

给出一个包含 n 个元素的数组 A,去掉 A 中重复的数字并从小到大排序输出。

输入格式

第一行:1个数n表示数组的长度(2 <= n <= 100000)。 第2至n+1行:每行1个数,对应数组的元素(1<= a[i] <= 10^9)

输出格式

输出去重并从小到大排序好的数组,每行一个数。

样例

【样例输入】

复制代码
5
10
8
7
8
10

【样例输出】

复制代码
7
8
10
数据范围与提示

2 <= n <= 100000 1<= a[i] <= 10^9

一些想法

这道题用 set 容器做是非常简单的,只用输入数后,直接丢入set 容器,然后再用迭代器输出就行了,而 set 容器和迭代器会自动去重和排序。

详细请看代码中的注释

AC代码

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	set<int> s;
	for(int i=1;i<=n;i++){
		int a;
		cin>>a;
		s.insert(a);//将a插入set中,自动去重
	}
	set<int>::iterator it;//声明set的迭代器
	for(it=s.begin();it!=s.end();it++){//遍历set
		cout<<*it<<endl;// 输出当前元素,自动按升序排列
	}
	return 0;
} 
相关推荐
Ayanami_Reii6 小时前
区间不同数的个数-树状数组/线段树/莫队/主席树
数据结构·c++·算法·线段树·树状数组·主席树·莫队
大筒木老辈子6 小时前
C++笔记---并发支持库(atomic)
java·c++·笔记
zero_hz6 小时前
核心区分:用户态/内核态切换 vs. 程序阻塞
c++·io·内核态用户态
胡萝卜3.06 小时前
深入C++可调用对象:从function包装到bind参数适配的技术实现
开发语言·c++·人工智能·机器学习·bind·function·包装器
CoderYanger6 小时前
C.滑动窗口-求子数组个数-越长越合法——3325. 字符至少出现 K 次的子字符串 I
c语言·数据结构·算法·leetcode·职场和发展·哈希算法·散列表
看见繁华6 小时前
C++ 高级
开发语言·c++
点云SLAM7 小时前
constexpr 和 explicit 在 C++ 中被提出的动机
开发语言·c++·explicit关键字·隐式转换·constexpr关键字·c++11/17/20
sin_hielo7 小时前
leetcode 3606
数据结构·算法·leetcode
冷崖7 小时前
工厂模式-创建型
c++·设计模式