AtCoder-abc408_b 解析

题目链接

让我们一步一步详细分析这个问题:

题目要求我们实现去重并排序的功能,这在C++中可以直接使用set容器来实现。set是STL中的一个关联容器,具有以下特性:

  1. 自动去重:所有元素都是唯一的
  2. 自动排序:默认按升序排列
  3. 高效的查找:基于红黑树实现,查找复杂度为O(logn)

具体实现步骤如下:

  1. 创建一个set容器
  2. 将所有输入元素插入set中
  3. 遍历set输出结果

应用场景:

  • 统计用户访问次数时去重
  • 需要快速查找且数据唯一的情况
  • 自动排序的需求场景

注意事项:

  • set不支持随机访问
  • 插入和删除操作会影响迭代器
  • 如需降序排列,可使用set<int, greater<int>>

上代码:

#include<iostream>
#include<set>
using namespace std;
set<int> s; 
int n,a;
int main(){
	cin>>n;
	while(n--){
		cin>>a;
		s.insert(a);
	}
	cout<<s.size()<<endl;
	for(auto i:s) cout<<i<<" ";
	return 0;
}

求关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值