题目描述
给定含有n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的数,只保留该数第一次出现的位置,删除其余位置。
输入格式输入包含两行:
第一行包含一个正整数n(1 ≤ n ≤ 20000),表示第二行序列中数字的个数;
第二行包含n个整数,整数之间以一个空格分开。每个整数大于等于10、小于等于5000。
输出格式输出只有一行,按照输入的顺序输出其中不重复的数字,整数之间用一个空格分开。
样例输入 #1
5
10 12 93 12 75
输出 #1
10 12 93 75
数据范围与提示
分类标签
[一维数组]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int a[20001];
int b[5001];
int c;
// The main procedure
int main() {
cin>>c;
for (int i = 1; i <= c; i++) {
cin>>a[i];
}
for (int i = 1; i <= c; i++) {
if (b[a[i]] == 0) {
if (i > 1) {
cout<<" ";
}
cout<<a[i];
b[a[i]] = 1;
}
}
return 0;
}
Blockly题解代码图片