NC20128 不重复数字

题目描述

给出N个数,要求把其中重复的去掉,只保留第一次出现的数。

例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。

输入描述:

复制代码
输入第一行为正整数T,表示有T组数据。
接下来每组数据包括两行,第一行为正整数N,表示有N个数。
第二行为要去重的N个正整数。

输出描述:

复制代码
对于每组数据,输出一行,为去重后剩下的数字,数字之间用一个空格隔开。

链接:登录---专业IT笔试面试备考平台_牛客网

来源:牛客网

示例1

输入

复制代码
2
11
1 2 18 3 3 19 2 3 6 5 4
6
1 2 3 4 5 6

输出

复制代码
1 2 18 3 19 6 5 4
1 2 3 4 5 6

备注:

复制代码
对于30% 的数据,n≤100,给出的数∈[0,100]
对于60% 的数据,n≤104,给出的数∈[0,1e4]
对于100% 的数据,1≤T≤50,1≤n≤5e4,给出的数在32位有符号整数范围内。

代码

复制代码
#include <bits/stdc++.h>
using namespace std;

int main(){
    map<int, int> mp;
    
    int T; cin >> T;
    while(T--){
        int n; cin >> n;
        while(n--){
            int k; cin >> k;
            ++mp[k];
            if(mp[k] == 1) cout << k << " ";
        }
        puts("");
        mp.clear();
    }
    
    return 0;
    
}
相关推荐
m0_5613596712 小时前
嵌入式C++调试技术
开发语言·c++·算法
Howrun77712 小时前
UE C++ 开发全生命周期 + 全场景的知识点清单
开发语言·c++
yuan1999712 小时前
高光谱遥感图像异常检测KRX算法Matlab实现
算法·机器学习·matlab
努力学习的小廉12 小时前
我爱学算法之—— 回溯
算法·深度优先
2301_7634724612 小时前
C++中的享元模式高级应用
开发语言·c++·算法
weixin_4589232012 小时前
分布式日志系统实现
开发语言·c++·算法
我是咸鱼不闲呀12 小时前
力扣Hot100系列15(Java)——[二叉树]总结(有效的括号,最小栈,字符串解码,每日温度,柱状图中最大的矩形)
java·算法·leetcode
爱装代码的小瓶子12 小时前
【C++与Linux】文件篇(2)- 文件操作的系统接口详解
linux·c++
C蔡博士12 小时前
算法设计与分析:稳定配对(Stable Matching)问题
算法·算法设计·复杂度分析
拾光Ծ12 小时前
【优选算法】双指针算法:专题二
c++·算法·双指针·双指针算法·c++算法·笔试面试