去除重复数字

  1. 【基础】去除重复数字 [ 刷题2路4线 ]

时间限制: 1000MS

空间限制: 16MB

结果评判: 文本对比

正确/提交: 29 (21) / 45

官方标签: 数组

普及-

题目描述

给你N个数(n<=100),每个数都在(0~1000)之间,其中由很多重复的数字,请将重复的数字只保留一个,并将剩下的数由小到大排序并输出。

输入描述

输入有2行,

第1行为1个正整数,表示数的个数:N

第2行有N个用空格隔开的整数。

输出描述

第1行为1个正整数M,表示不相同数的个数。

接下来的M行,每行一个整数,表示从小到大排好序的不相同的数。

样例

×样例只是举例,并非全部测试数据,请保证您的程序能应对任意符合题意的数据!

输入 复制

10

20 40 32 67 40 20 89 300 400 15

输出 复制

8

15

20

32

40

67

89

300

400

#include<bits/stdc++.h>

using namespace std;

int a[107];

int main(){

int n;

cin>>n;

for(int i=0;i<n;i++){

cin>>a[i];

}

sort (a , a + n );

for(int i = 1;i<n;i++){

if(a[i]==a[i-1]){

a[i-1]=0;

}

}

;

int cnt=0;

for(int i=0;i<n;i++){

if(a[i]!=0){

cnt++;

}

}

cout<<cnt<<endl;

for(int i=0;i<n;i++){

if(a[i]!=0){

cout<<a[i]<<endl;

}

}

return 0;

}

相关推荐
apocelipes28 分钟前
从源码角度解析C++20新特性如何简化线程超时取消
c++·性能优化·golang·并发·c++20·linux编程
LYFlied28 分钟前
【每日算法】 LeetCode 56. 合并区间
前端·算法·leetcode·面试·职场和发展
ozyzo30 分钟前
求1~n的累加和
c++
艾醒39 分钟前
大模型原理剖析——多头潜在注意力 (MLA) 详解
算法
艾醒42 分钟前
大模型原理剖析——DeepSeek-V3深度解析:671B参数MoE大模型的技术突破与实践
算法
charlie1145141911 小时前
现代C++嵌入式教程:C++98基础特性:从C到C++的演进(1)
c语言·开发语言·c++·笔记·学习·教程
jifengzhiling2 小时前
零极点对消:原理、作用与风险
人工智能·算法
历程里程碑2 小时前
C++ 18智能指针:告别内存泄漏的利器
开发语言·c++
鲨莎分不晴2 小时前
【前沿技术】Offline RL 全解:当强化学习失去“试错”的权利
人工智能·算法·机器学习