去除重复数字

  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;

}

相关推荐
DanyHope12 分钟前
《LeetCode 49. 字母异位词分组:哈希表 + 排序 全解析》
算法·leetcode·哈希算法·散列表
iAkuya15 分钟前
(leetcode) 力扣100 15轮转数组(环状替代)
数据结构·算法·leetcode
杰克尼18 分钟前
蓝桥云课-5. 花灯调整【算法赛】
java·开发语言·算法
.小墨迹18 分钟前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
wanghowie19 分钟前
01.02 Java基础篇|核心数据结构速查
java·开发语言·数据结构
努力学算法的蒟蒻25 分钟前
day38(12.19)——leetcode面试经典150
算法·leetcode·面试
看见繁华30 分钟前
C++ 设计模式&设计原则
java·c++·设计模式
点云SLAM34 分钟前
C++ error C2065: “M_PI”: 未声明的标识符 解决方案
开发语言·c++·error c2065·m_pi未声明 解决方案
搬砖魁首34 分钟前
ZK-ALU-在有限域上实现乘法和除法
算法·zk·alu·域运算·算术逻辑单元·模乘·蒙哥马利模约简
草莓熊Lotso40 分钟前
C++11 核心精髓:类新功能、lambda与包装器实战
开发语言·c++·人工智能·经验分享·后端·nginx·asp.net