题目描述
给出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个正整数。

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

输入输出样例
输入样例#1:
2
11
1 2 18 3 3 19 2 3 6 5 4
6
1 2 3 4 5 6
输出样例#1:
1 2 18 3 19 6 5 4
1 2 3 4 5 6
说明
对于30%的数据,1 <= N <= 100,给出的数不大于100,均为非负整数;
对于50%的数据,1 <= N <= 10000,给出的数不大于10000,均为非负整数;
对于100%的数据,1 <= N <= 50000,给出的数在32位有符号整数范围内。T ≤50

.
.
.
.
.
分析
哈希,注意可能会有负数

.
.
.
.
.
程序:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;long long mo=1555553;
long long h[1555553];bool hash(int x)
{long long w=(long long)fabs(x)%mo,i=0;while (i<mo&&h[(w+i)%mo]!=-1&&h[(w+i)%mo]!=x) i++;if (h[(w+i)%mo]==-1){h[(w+i)%mo]=x;return true;} elseif (h[(w+i)%mo]==x) return false;return false;
}int main()
{int t;scanf("%d",&t);while (t--){int n;scanf("%d",&n);memset(h,-1,sizeof(h));for (int i=1;i<=n;i++){long long x;scanf("%lld",&x);if (hash(x)==true) printf("%lld ",x);}printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/YYC-0304/p/10292790.html

[JLOI2011]不重复数字相关推荐

  1. bzoj2761 [JLOI2011]不重复数字

    2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3081  Solved: 1138 [Submit][S ...

  2. bzoj 2761: [JLOI2011]不重复数字【hash】

    map会T,双hash会冲突--于是非酋写了个三hash #include<iostream> #include<cstdio> #include<cstring> ...

  3. [BZOJ2761/Luogu4305][JLOI2011]不重复数字 题解

    题目链接: BZOJ2761 Luogu4305 大水题一个... 应该有很多种做法,\(Juruo\)随便说几个自己的解法吧. Plan A 最暴力的:用一颗平衡树记录前面出现过的数,判断当前数是不 ...

  4. linux找出重复数字,C语言笔试经典-查找多位数重复数字以及次数

    从键盘输入一个多位的整数 用程序判断 这个数里面有没有 重复的数字  有重复的数字就打印  哪个数字重复了  重复了几次 例如:输入:1122431 打印结果: 1重复 出现3次 2重复 出现2次, ...

  5. HYSBZ2761 不重复数字【序列处理】(BZOJ2761)

    2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 5396  Solved: 2039 [Submit][S ...

  6. 数组专题——找重复数字 利用下标

    找出任一重复数字 数组范围0-n-1 bool duplicate(int numbers[],int length,int *duplication){//传地址,通过参数返回重复数字//robus ...

  7. 题目:查找数组中的重复数字,要求空间复杂度为O(1)(基于Java实现)

    题目:查找数组中的重复数字,要求空间复杂度为O(1)(基于Java实现) 题目: 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字 ...

  8. lintcode :Remove Duplicates from Sorted Array II 删除排序数组中的重复数字 II

    题目: 删除排序数组中的重复数字 II 跟进"删除重复数字": 如果可以允许出现两次重复将如何处理? 样例 给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A ...

  9. 无重复数字的随机数字数组

    这几天看MFC,头晕眼花,也觉得没有什么可以写的. 今天学习之余,看到一个面试题"1000个范围0-2000的数字,进行排序打印出来".就想着实现一下. 第一步先要建立1000个范 ...

最新文章

  1. php和java的memcached使用的兼容性问题解决过程
  2. 绘图: matplotlib核心剖析
  3. [oralce] 利用CRT的端口转发功能直接用plsql访问数据库
  4. flv 自动播放 html autostart=true,《网页制作之FLV视频播放代码的编写.doc
  5. grep 判断不是正则的_Shell—正则表达式(grep命令、sed工具)
  6. 罗永浩要造智能音箱;苹果承认bug;微软特制AI曝光 | 极客头条
  7. ndk 编译 ffmpeg
  8. PHP 性能分析第三篇: 性能调优实战
  9. html大作业【NBA篮球介绍 22个页面】学生网页设计源码
  10. Xpose实例分析-变色龙
  11. 中国电信物联网平台物理模型创建
  12. linux chm 阅读器,linux下最好的chm阅读器KchmViewer,安装使用/与oklular,xCHM,gnochm简单比较...
  13. linux查看无线网卡漫游,linux 无线命令
  14. 腾讯toB“联合舰队”的秘密
  15. 文档矫正(计算机视觉实验)
  16. 已知三边 求三角形面积
  17. C语言教程:十进制转换任意进制
  18. 好产品不断更新迭代,如何评估App升级效果
  19. 泰罗凹凸曼主题曲谐音
  20. OEM按钮乱码问题解决

热门文章

  1. 科大星云诗社动态20210810
  2. 云炬随笔20211010(4)
  3. SVM熟练到精通4:偏离点与松弛变量
  4. C#中的平台调用(P/Invoke)
  5. scanf最好与fflush(stdin)配合使用
  6. 让delphi2010操作界面回到delphi7模式
  7. JZ2440学习总结3
  8. 【CyberSecurityLearning 附】批处理命令拓展(netsh/netstat/net)
  9. python向数据库传输数据时弹出not enough arguments for format string怎么办
  10. 输出200-299之间的所有素数