能不能帮忙设计一个java程序或者给我一段代码
我就要实现一个功能,我文本是一篇英文小说,如果两人在相距较短的一段文字中出现,我们认为两人有关系,距离越短,关系越近。自行设计统计标准,找出10个人中:1)关系最紧密的两...
我就要实现一个功能,我文本是一篇英文小说,
如果两人在相距较短的一段文字中出现,我们认为两人有关系,距离越短,关系越近。自行设计统计标准,找出10个人中:
1)关系最紧密的两个人,关系最不紧密的两个人。
2)输入一个人名,列出该人和其他人关系的紧密程度排名。
统计每个人在小说中出现的篇幅跨度(第一次出现距最后一次出现的篇幅)并排序。
好了可以私信也可以直接回答,多谢了 展开
如果两人在相距较短的一段文字中出现,我们认为两人有关系,距离越短,关系越近。自行设计统计标准,找出10个人中:
1)关系最紧密的两个人,关系最不紧密的两个人。
2)输入一个人名,列出该人和其他人关系的紧密程度排名。
统计每个人在小说中出现的篇幅跨度(第一次出现距最后一次出现的篇幅)并排序。
好了可以私信也可以直接回答,多谢了 展开
2013-12-06
展开全部
给你一个思路吧。
找人名,是不是应该有个人名字典?假设这个人名字典为数组 name[]
那么,第一步,计算出每个人距离文本开始的位置。因为每个位置只可能有一个人名,所以,每个人距离文本开始的位置应该是唯一的,那么把这个位置作为key,把人名作为value 构造一个map;并且用key构造一个距离列表list,
第二部,把这个list排序,从小到大,或从大到小都行,我们假设是从小到大的。
1)计算所谓关系最紧密,即为距离差(list中相邻两元素相减,因为从小到大排序,所以,用i+1位置的元素-i位置的元素)最小的,遍历list,两两相减,计算出最小的两个元素,然后最小的两个距离值从map中获得人名。然后同理,计算出距离差最大的。
2)输入一个人名。可以遍历map,找出这个人的key,然后再计算key和list中各个距离值的和即可。
找人名,是不是应该有个人名字典?假设这个人名字典为数组 name[]
那么,第一步,计算出每个人距离文本开始的位置。因为每个位置只可能有一个人名,所以,每个人距离文本开始的位置应该是唯一的,那么把这个位置作为key,把人名作为value 构造一个map;并且用key构造一个距离列表list,
第二部,把这个list排序,从小到大,或从大到小都行,我们假设是从小到大的。
1)计算所谓关系最紧密,即为距离差(list中相邻两元素相减,因为从小到大排序,所以,用i+1位置的元素-i位置的元素)最小的,遍历list,两两相减,计算出最小的两个元素,然后最小的两个距离值从map中获得人名。然后同理,计算出距离差最大的。
2)输入一个人名。可以遍历map,找出这个人的key,然后再计算key和list中各个距离值的和即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-06
展开全部
研究一下lucene源码, 找找灵感,关键是效率问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询