免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12
最近访问板块 发新帖
楼主: newfinder

关键字重复内容提取 [复制链接]

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
发表于 2018-04-07 20:51 |显示全部楼层
shishi:
  1. #!/usr/bin/perl
  2. # version 26, subversion 1 (v5.26.1)

  3. my %count;

  4. $count{ $_->[0] } > 1 and print $_->[1]
  5. for map {
  6.     my ($k) = split;
  7.     $count{$k}++;
  8.     [ $k, $_ ]
  9. } <DATA>;

  10. __DATA__
  11. a 1 2
  12. b 1 3
  13. a 1 4
  14. a 1 2
  15. b 2 3
  16. c 2 4
  17. c 2 2
  18. d 2 1
  19. e 3 2
复制代码

论坛徽章:
12
CU大牛徽章
日期:2013-04-17 11:20:3615-16赛季CBA联赛之福建
日期:2017-03-13 11:33:442017金鸡报晓
日期:2017-02-08 10:39:422017金鸡报晓
日期:2017-01-10 15:13:29IT运维版块每日发帖之星
日期:2016-03-15 06:20:01IT运维版块每日发帖之星
日期:2015-10-02 06:20:00CU十二周年纪念徽章
日期:2013-10-24 15:41:34CU大牛徽章
日期:2013-09-18 15:15:45CU大牛徽章
日期:2013-09-18 15:15:15CU大牛徽章
日期:2013-04-17 11:46:39CU大牛徽章
日期:2013-04-17 11:46:2815-16赛季CBA联赛之吉林
日期:2017-05-25 16:45:47
发表于 2018-04-10 09:41 |显示全部楼层
这个问题仔细想想,其实还有许多需要注意的地方:
1. 对多次重复如何处理?只输出1个还是输出多个?
2.为什么不先排序?排序后处理这样的情况会降低很多复杂度,是否结果要求不排序?

论坛徽章:
0
发表于 2018-04-27 04:51 |显示全部楼层
回复 11# rubyish

多谢多谢

论坛徽章:
0
发表于 2018-04-27 04:56 |显示全部楼层
回复 12# xdsnet

嗯嗯,其实就是想把重复的那些提取出来,结果排序与否根据下面的要求来的,两种结果还是都需要的,嘿嘿。

论坛徽章:
0
发表于 2018-04-27 18:27 |显示全部楼层
  1. #!/usr/bin/perl

  2. my %data =();
  3. while (<DATA>) {
  4.         push(@{$data{(split/\s+/)[0]}},$_);
  5. }
  6. foreach (sort grep {@{$data{$_}} > 1} keys %data) {
  7.         print foreach (sort @{$data{$_}});
  8. }
  9. <>;

  10. __DATA__
  11. a 1 2
  12. b 1 3
  13. a 1 4
  14. a 1 2
  15. b 2 3
  16. c 2 4
  17. c 2 2
  18. d 2 1
  19. e 3 2
复制代码


按关键字以及关键字的二级进行排序输出,我更喜欢11楼的代码。

论坛徽章:
0
发表于 2018-04-27 20:21 |显示全部楼层
回复 15# iamlimeng

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP