写在前面
满分600分,题目分为100,200,300分,该题目是100分题;
没有现场AC,后续花了2个小时完成,涉及到很多东西还不是特别熟悉。
题目描述
给出多篇文章,根据下列标准选择出topN个热词。
标准1:出现次数越多,权值越大,排名越靠前;出现在题目中权值+3,出现在文本中权值+1;
标准2:权值相同的词,出现在题目中,排名优先于出现在文本中;
标准3:权值相同且均出现在题目或者文本中,出现越早,排名越靠前。
下面给出M篇文章,每一篇文章题目占一行,文本占一行,即一篇文章2*M行,输出前topN个热词。
import java.util.*;
class Token implements Comparable<Token>
{
String str;
int val;
int position;
int where;
public Token(String s, int v, int p, int w)
{
str = s;
val = v;
position = p;
where = w;
}
@Override
public int hashCode() {
return str.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Token other = (Token) obj;
return Objects.equals(str, other.str);
}
@Override
public int compareTo(Token o)