全部评论
找到一份通过的代码,你们看看 #!/usr/bin/env python
import math
import random
import sys
class Solution2(object):
def tfidf(self, line, idf):
tf = {}
tfidf = []
data = []
words = line.split(",")
length = len(words)
for word in words:
tf[word] = tf.get(word, 0) + 1 / length
for word in words:
tfidf.append(str(round(tf.get(word) * idf.get(word), 2)))
data.append("tf:%s,idf:%s" % (tf.get(word), idf.get(word)))
return (tfidf)
def getWordDocs(self, docs):
N = len(docs)
idf = {}
for doc in docs:
words = set(doc.split(","))
for word in words:
idf[word] = idf.get(word, 0) + 1
for (k, v) in idf.items():
idf[k] = round(math.log(N / v, 2), 2)
return idf
if __name__ == "__main__":
solution2 = Solution2()
n = int(sys.stdin.readline().strip())
dd = []
for i in range(0, n):
dd.append(sys.stdin.readline().strip())
idf = solution2.getWordDocs(dd)
for item in dd:
tfidf = solution2.tfidf(item, idf)
print(",".join(tfidf))
感觉应该要用字典树做,用数组搞了半天12.5%,GG
我靠,倒排索引,我论文搞的就是这个,后悔没投。。
我是这个题目 gg了
一直12.5%,搞不清楚哪里不对😂
能把题 粘上来吗?
好像有问题,我发了提问贴
我做了,本地可以,网上AC 0 。。。gg,不知道哪里有问题啊
没做,但是知道tfidf,阮一峰有一篇博文介绍过。
tfidf???
相关推荐
点赞 评论 收藏
分享
05-25 18:01
华南理工大学 算法工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-07 11:06
重庆移通学院 C++
HoePointer:把重点可以标黑,简历精简一下,然后把你的项目放在 github 或者 gitee 上面,readme 写好看一点(一般面试官有可能会翻你的网页) 点赞 评论 收藏
分享
05-26 17:47
贵州医科大学 前端工程师 在下uptown:助学贷款,当年哥们去打印申请表的时候,那个姐姐问我贷多少,我羞愧的说贷最高的,这份助学贷款让我整个大学四年都保持着对父母的内疚之心,除了谈恋爱就是学专业课,后来攒了赞实习工资,毕业3个月还清了
点赞 评论 收藏
分享