去重+排序板子(set+map)
2024-10-17 21:56:00
题意:
给定n个数,去重排序后输出个数和每个数
1.map实现
#pragma GCC optimize("O2")
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<limits.h>
#include<ctime>
#define N 100001
typedef long long ll;
const int inf=999999999;
const int maxn=2017;
using namespace std;
inline int read()
{
int f=1,x=0;char ch=getchar();
while(ch>'9'|ch<'0')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0')
{
x=(x<<3)+(x<<1)+ch-'0';
ch=getchar();
}
return f*x;
}
typedef map<int,bool> mp;
mp m;
int main()
{
int n=read();
for(int i=1;i<=n;i++)
{int k=read();m[k]=1;}
cout<<m.size()<<endl;
for(mp::iterator i=m.begin();i!=m.end();i++)
cout<<i->first<<endl;
}
2.set实现
#pragma GCC optimize("O2")
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<stack>
#include<set>
#include<map>
#include<limits.h>
#include<ctime>
#define N 100001
typedef long long ll;
const int inf=999999999;
const int maxn=2017;
using namespace std;
inline int read()
{
int f=1,x=0;char ch=getchar();
while(ch>'9'|ch<'0')
{
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0')
{
x=(x<<3)+(x<<1)+ch-'0';
ch=getchar();
}
return f*x;
}
set<int>s;
int main()
{
int n=read();
for(int i=1;i<=n;i++)
{int k=read();s.insert(k);}
printf("%d",s.size());
for(set<int>::iterator i=s.begin();i!=s.end();i++)
cout<<*i<<endl;
}
最新文章
- .NET框架体系结构
- 图解Tomcat类加载机制
- TeeChart控件的安装与常用 功能设置
- 【转】自己动手写SC语言编译器
- 各类JavaScript插件
- 【JSF框架】 是一种标准
- ios ReactiveViewModel
- jQuery.fn
- maven入门(下)
- HDFS概述(6)————用户手册
- 通过扩大IE使用内存,解决skyline在IE下模型不能加载的方法
- MySql的隔离级别和锁的关系
- 关于flask登录视图报错AttributeError: &#39;_AppCtxGlobals&#39; object has no attribute &#39;user&#39;
- .NET 基金会完成第一次全面改选
- 盒子模型/div标签/益出处理
- jQuery.Ajax IE8,9 无效(CORS跨域)
- datetime模块
- jQuery案例2
- BZOJ1004 HNOI2008 Cards Burnside、背包
- WampServer的安装和配置