技术标签: 排序算法
已知某序列S=<e1,e2,…,en>,序列中的元素类型为整数(en <= 2^10),序列的长度为可变长度。
现在有若干序列S1,S2,…,Sn,现在要求设计一种算法,找出这些重复的序列。输出重复序列的序号,如果有多组重复,需全部输出。
所有序列中的数字个数加起来,小于1000000,序列个数小于10000个。
例如现有3个序列
S1=<65,43,177,655>
S2=<1,2,3,4,5,6,7>
S3=<65,43,177,655,3>
这时序列无重复。又如
S1=<65,43,177,655,3>
S2=<1,2,3,4,5,6,7>
S3=<65,43,177,655,3>
这时序列有重复。
输入描述:
第一行为一个正整数N,N>=1且N<10000
接下来为2*N数据,每两行表示一个序列,序列的第一行为序列长度L,第二行为序列的数字,一共L个
输出描述:
重复序列的序号,每一行X个数字,表示一组相同的序列,这一组相同序列共有X个,输出这X个序列的序号
11
10
794 472 991 500 615 872 518 827 673 203
1
427
7
367 718 202 187 683 321 831
10
1023 78 310 816 158 500 518 705 553 470
8
205 190 306 492 166 49 791 961
6
665 211 1009 614 15 683
2
195 946
3
678 198 495
8
205 190 306 492 166 49 791 961
5
83 74 1023 453 692
2
176 157
4 8
N=int(input())
tmp=[]
dic={}
alist=[[] for i in range(N)]
for i in range(N):
L=int(input())
tmp.append(tuple(map(int,input().split())))
for i in range(len(tmp)):
if tmp[i] not in dic:
dic[tmp[i]]=i
else:
if dic[tmp[i]] not in alist[dic[tmp[i]]]:
alist[dic[tmp[i]]].append(dic[tmp[i]])
alist[dic[tmp[i]]].append(i)
# print(dic)
# print(alist)
if alist==[[] for i in range(N)]:
print('no')
else:
for i in alist:
if i!=[]:
t=[str(j) for j in i]
p=' '.join(t)
print(p)
文章浏览阅读240次。猜您喜欢:深入浅出stable diffusion:AI作画技术背后的潜在扩散模型论文解读戳我,查看GAN的系列专辑~!一顿午饭外卖,成为CV视觉的前沿弄潮儿!最新最全100篇汇总!生成扩散模型Diffusion ModelsECCV2022 | 生成对抗网络GAN部分论文汇总CVPR 2022 | 25+方向、最新50篇GAN论文ICCV 2021 | 35个主题GAN论文汇总超110篇!C..._ai试穿论文参考文献近三年怎么写
文章浏览阅读218次。在Springboot中使用数据库主从复制实现读写分离,操作数据时操作主表,查询操作使用从表。我就直接跳过创建SpringBoot应用的步骤了,直接开始操作如何配置读写分离。1、我的Maven依赖如下,大家可以复制<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema..._springboot+mybatisplus+mysql主从读写分离
文章浏览阅读9.1k次。通过搜索引擎网站搜索,可以帮助我们快速找到自己需要的内容。很多同学只知道百度搜索,不知道还有其他什么搜索引擎网站。小编就来和大家分享搜索引擎网站有哪些,搜索引擎网站大全。_链接搜索引擎
文章浏览阅读3.3k次。vue监听浏览器网页关闭和网页刷新_vue监听网页关闭浏览器关闭事件
文章浏览阅读8.7k次,点赞4次,收藏11次。目录问题代码解决问题的背景知识java8 Optional 的使用规范要求的规则。Java 8 Stream修改策略java8方法1方式2问题代码public class demoUtil { public static Long methdName(List<EnterpriseSolutionsSeq> seqList){ if(CollUtil.isEmpty(seqList)){ return null; } // 下面这行代码会被sonar检测有问题,因为在对O_call "optional#ispresent()" before accessing the value.
文章浏览阅读517次。fwrite函数1.函数功能用来读写一个数据块。2.一般调用形式fwrite(buffer,size,count,fp);3.说明(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。(2)size:要读写的字节数;(3)count:要进行读写多少个size字节的数据项;(4)fp:文件型指针fre_linux ergodic的函数作用
文章浏览阅读2.9k次。韩文输入法(HANGUL)以及韩文9宫格输入法的实现过程_韩语键盘九宫格
文章浏览阅读434次。使用过office的visio软件画图的小伙伴都知道,画图软件分为两部分,左侧图形库,存放各种图标,右侧是一个画布,将左侧图形库的图标控件拖拽到右侧画布,就会生成一个新的控件,并且可以自由拖动。那如何在WPF程序中,实现类似的功能呢?今天就以一个简单的小例子,简述如何在WPF中实现控件的拖拽和拖动,仅供学习分享使用,如有不足之处,还请指正。涉及知识点WPF控件的拖拽与拖动,主要涉及的知识点如下所示..._wpf中如何拖动按钮
文章浏览阅读926次。在 Flutter 中,GestureDetector 组件可以识别和处理各种手势,包括拖拽手势。GestureDetector 提供了一系列的回调函数,这些函数在不同的手势事件发生时被调用,例如当手势开始、更新或结束时。对于拖拽手势,GestureDetector 提供了专门的回调函数来处理垂直拖拽、水平拖拽和二维拖拽。在构建交互式应用程序时,处理用户的手势输入是至关重要的一部分。Flutter 提供了一套丰富的手势识别系统,使得开发者可以轻松地实现各种手势操作,如点击、双击、拖拽、缩放等。_flutter 手动拖拽
文章浏览阅读608次。方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字节,本次设计足够,内部高达20K字节的SRAM。_proteus平衡调幅电路仿真
文章浏览阅读4.2k次。本人使用的tomcat6.0.411.找一个安装好的jre(我的jre7),把jre整个文件夹复制放入tomcat的目录中2.打开bin/Catalina.bat 加入 set JRE_HOME=..\jre73.打开bin/setclasspath.bat 加入 set JRE_HOME=..\jre74.打开bin/startup.bat_启动tomcat 不用安装jdk
文章浏览阅读236次。http://www.waitingfy.com/archives/category/长文章/cocos2d-x_cocos2d-x精华