去除重复数字

  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;

}

相关推荐
zhuzewennamoamtf7 分钟前
Linux内核platform抽象、数据结构、内核匹配机制
linux·运维·数据结构
TL滕16 分钟前
从0开始学算法——第十八天(分治算法)
笔记·学习·算法
LYFlied25 分钟前
【每日算法】LeetCode 84. 柱状图中最大的矩形
前端·算法·leetcode·面试·职场和发展
Pafey41 分钟前
C++的左值引用、右值引用以及转发和完美转发
c++
CoderCodingNo41 分钟前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
Liangwei Lin1 小时前
洛谷 P1955 [NOI2015] 程序自动分析
算法
zwjapple1 小时前
全栈开发面试高频算法题
算法·面试·职场和发展
不穿格子的程序员1 小时前
从零开始写算法——链表篇5:K个一组翻转链表 + 排序链表
算法·链表·分治
青鸟2181 小时前
从资深开发到脱产管理的心态转变
后端·算法·程序员
晨曦夜月1 小时前
笔试强训day7
开发语言·c++·算法