数字去重(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;
} 
相关推荐
端平入洛1 天前
auto有时不auto
c++
琢磨先生David2 天前
Day1:基础入门·两数之和(LeetCode 1)
数据结构·算法·leetcode
哇哈哈20212 天前
信号量和信号
linux·c++
多恩Stone2 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
蜡笔小马2 天前
21.Boost.Geometry disjoint、distance、envelope、equals、expand和for_each算法接口详解
c++·算法·boost
qq_454245032 天前
基于组件与行为的树状节点系统
数据结构·c#
超级大福宝2 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
岛雨QA2 天前
常用十种算法「Java数据结构与算法学习笔记13」
数据结构·算法
weiabc2 天前
printf(“%lf“, ys) 和 cout << ys 输出的浮点数格式存在细微差异
数据结构·c++·算法
问好眼2 天前
《算法竞赛进阶指南》0x01 位运算-3.64位整数乘法
c++·算法·位运算·信息学奥赛