zoukankan      html  css  js  c++  java
  • 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;
    }
    
  • 相关阅读:
    Java
    HashMap数据结构与实现原理解析(干货)
    Java
    Java
    Java
    面向对象基础
    Java
    Java
    Java
    shell脚本
  • 原文地址:https://www.cnblogs.com/crp-cpp/p/14968981.html
Copyright © 2011-2022 走看看