【题目链接】
ybt 1117:整数去重
OpenJudge NOI 1.9 13:整数去重
【题目考点】
1. 散列存储
【解题思路】
- 设布尔型数组isExist,isExist[i]表示数字i是否已经出现过,数组元素都初始化为false。
- 输入数字num,
- 如果数字num没有出现过,那么将isExist[num]设为true,表示数字num出现过了。并输出num。
- 如果数字num曾经出现过,那么不做操作
【题解代码】
解法1:
#include <bits/stdc++.h>
using namespace std;
int main()
{
bool isExist[20005] = {};//数组元素初始化为false
int n, num;
cin >> n;
for(int i = 0; i < n; ++i)
{
cin >> num;
if(isExist[num] == false)//如果没输入过数字num,那么输出这一数字
{
cout << num << ' ';
isExist[num] = true;
}
}
return 0;
}