7-4 jmu-Java-05集合-4-倒排索引

news/2024/12/22 20:03:11/

对若干行文字建立倒排索引(根据单词找到所在行号)。
然后根据关键字,在倒排索引查找进行查找,找到包含所有该关键字所在的行数并输出。

输入说明

  1. 若干行英文,以!!!!!为结束。
  2. 输入一行查询关键字,以1个空格为分隔

输出说明

  1. 输出所创建倒排索引。索引的key按照字母升序,索引的value按照行号升序
  2. 输出查询结果。如果找到,输出行集与行集内每一行的内容,如果没找到输出found 0 results

输入样例

where are you from are you ok
this is a test 
that is an apple
there are lots of apples you eat it
who are you
!!!!!
you are
eat
you test
abc

输出样例

a=[2]
an=[3]
apple=[3]
apples=[4]
are=[1, 4, 5]
eat=[4]
from=[1]
is=[2, 3]
it=[4]
lots=[4]
of=[4]
ok=[1]
test=[2]
that=[3]
there=[4]
this=[2]
where=[1]
who=[5]
you=[1, 4, 5]
[1, 4, 5]
line 1:where are you from are you ok
line 4:there are lots of apples you eat it
line 5:who are you
[4]
line 4:there are lots of apples you eat it
found 0 results
found 0 results
import java.util.*;
class tianTian
{String name;ArrayList<Integer> jiangLi = new ArrayList<>();public tianTian(String name,int cnt){this.name=name;jiangLi.add(cnt);}public String toString(){return name+"="+jiangLi.toString();}
}
public class Main {public static void main(String[] args) {Scanner in=new Scanner(System.in);int line=1;ArrayList<String> jieGe=new ArrayList<>();ArrayList<tianTian> chengSS=new ArrayList<>();while(true){String str= in.nextLine();if(str.equals("!!!!!")){break;}jieGe.add(str);String[] sss=str.split(" ");for (String s : sss) {boolean fare=true;for (tianTian no : chengSS) {if (no.name.equals(s)) {boolean flag=true;for(Integer cnt:no.jiangLi){if(cnt==line){flag=false;break;}}if(flag){no.jiangLi.add(line);}fare=false;break;}}if(fare){tianTian wenHT = new tianTian(s,line);chengSS.add(wenHT);}}line++;}Collections.sort(chengSS, new Comparator<tianTian>() {@Overridepublic int compare(tianTian o1, tianTian o2) {if(o1.name.compareTo(o2.name)>0){return 1;}return -1;}});for(tianTian jiangli:chengSS){System.out.println(jiangli);}while (in.hasNextLine()){String str=in.nextLine();String[] stt=str.split(" ");ArrayList<Integer> momoda=new ArrayList<>();for (int i = 0; i < jieGe.size(); i++) {String omoxi = jieGe.get(i);int ccTV = 0;for (String gomogomo : stt) {if (omoxi.contains(gomogomo)) {ccTV++;}}if (ccTV == stt.length) {momoda.add(i+1);}}if(!momoda.isEmpty()){System.out.println(momoda);for(Integer i:momoda){System.out.println("line "+i+":"+jieGe.get(i-1));}}else{System.out.println("found 0 results");}}}
}

 


http://www.ppmy.cn/news/690017.html

相关文章

damo10

放大镜效果 需求&#xff1a; 1.鼠标移至图片上方&#xff0c;鼠标周围出现黄色的的正方形框&#xff0c;黄色矩形框会随着鼠标的移动而移动&#xff1b; 2.将黄色正方形框里的内容的长和宽均放大2.4倍&#xff0c;并在图片右边进行显示。 实现原理&#xff1a; 获得鼠标在盒子…

damo2

轮播图 需求: 1.鼠标不在图片上方时&#xff0c;进行自动轮播&#xff0c;并且左右箭头不会显示&#xff1b;当鼠标放在图片上方时&#xff0c;停止轮播&#xff0c;并且左右箭头会显示&#xff1b; 2.图片切换之后&#xff0c;图片中下方的小圆点会同时进行切换&#xff0c;并…

html5 网页弹幕,Damoo

软件简介 Damoo 是一个轻量级的 HTML5 弹幕引擎。可以在页面元素上附加一层弹幕图层并且以非常简单的 API 调用方式使用。查看DEMO Damoo 一个不起眼的 HTML5 弹幕引擎。 Getting started 走起 下载最新发行版本。 需要在页面中准备一个合适的容器。 Then, import damoo.js or …

thingJS模模搭(campusbuilder/momoda)及3dsmax插件遇到的坑

列表 momoda(模模搭)3dsmax插件 momoda(模模搭) 一个账号不要多端同时使用&#xff0c;每个人的增删改在同步后不知会发生什么问题。 上传模型要好久才能出现在“上传模型”文件夹里&#xff0c;还要不知什么时候才会在打开场景里看到&#xff1b;所以要多次点击同步和场景选项…

LwIP系列(4):ARP协详解

前言 对于应用程序而言&#xff0c;我们与其他设备、服务通信&#xff0c;主要通过域名、IP进行通信&#xff0c;而以太网底层驱动&#xff0c;最终是通过MAC地址来表示设备的唯一标识&#xff0c;即IP是逻辑地址&#xff0c;并不是物理地址。在上一篇文章中&#xff0c;我们也…

从网易云、QQ音乐下载音乐

声明&#xff1a;对于热爱音乐的人&#xff0c;还是要支持作者&#xff0c;通过付费购买正版音乐&#xff0c;这样作者才有动力创造更好的音乐给大家。 这种方法下载音乐可能很多人都知道了&#xff0c;但可能还有一些小伙伴不知道&#xff0c;所以在这里分享一下。 1.打开火狐…

Python打造qq音乐歌曲下载器

Python打造qq音乐歌曲下载器 搭建应用程序界面实现功能&#xff0c;下载音乐 桌面应用程序&#xff0c;GUI tkinter import TK&#xff1a;python自带的&#xff0c;简单&#xff0c;好入门&#xff0c;但较丑 另外比较美观的&#xff1a; wxpython pyqt5&#xff0c;它不是…

百度网盘的音乐怎么分享到qq音乐里?

百度网盘&#xff0c;是很多小伙伴都在使用的云存储软件&#xff0c;支持存储图片、音乐、文件、视频等等内容&#xff0c;那我们怎么把百度网盘的音乐怎么分享到QQ音乐呢&#xff1f;下面小编就给大家分享一下百度网盘把音乐分享到QQ音乐的教程。 百度网盘怎么把音乐传到QQ音乐…