去除重复数字

  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;

}

相关推荐
岁忧18 分钟前
(LeetCode 面试经典 150 题) 200. 岛屿数量(深度优先搜索dfs || 广度优先搜索bfs)
java·c++·leetcode·面试·go·深度优先
一枝小雨26 分钟前
【OJ】C++ vector类OJ题
数据结构·c++·算法·leetcode·oj题
一枝小雨26 分钟前
【C++】Vector完全指南:动态数组高效使用
开发语言·c++·笔记·vector·学习笔记·std库
Tisfy37 分钟前
LeetCode 3516.找到最近的人:计算绝对值大小
数学·算法·leetcode·题解
自信的小螺丝钉38 分钟前
Leetcode 206. 反转链表 迭代/递归
算法·leetcode·链表
buyutang_1 小时前
C/C++ Linux系统编程:线程控制详解,从线程创建到线程终止
linux·c语言·c++·学习
Qiang_san1 小时前
GNU Make | C/C++项目自动构建入门
c语言·c++·gnu
黑色的山岗在沉睡1 小时前
LeetCode 189. 轮转数组
java·算法·leetcode
墨染点香1 小时前
LeetCode 刷题【65. 有效数字】
算法·leetcode·职场和发展