B2098 题解
本题要求我们将序列去重,所以我们可以用一个数组记录此时输入的那个数之前有没有出现过。
如果没有出现过,那么将其输出,并将数组中以这个数为下标的值计为 1(假设刚开始所有值为 0),表示这个数已经出现过,否则就不进行操作。
由于 10 \leq a_i \leq 100,所以并不用开 map
数组,直接开一个大小为 105 的布尔数组即可。
AC 代码(含注释):
#include <iostream>
using namespace std;
int a, n;
bool vis[105]; //记录输入的数是否在之前出现过
int main() {
cin >> n;
for(int i = 1; i <= n; i ++) {
cin >> a;
if(!vis[a]) cout << a << ' ', vis[a] = 1; //如果没出现过,就将其输出,并标记这个数已经出现过。
}
return 0;
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步