注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
各位大佬,能帮小弟看看我fizzy search 为什么只过了前两个case么?我自己怎么看都不明白,而且也没提示超时 或者OOM。就是显示其他case都错了。小弟真是想破脑袋了。一定加米!谢谢。
import heapq
wordToIndices = {}
def store_description(description, document_number):
if not description or len(description) == 0:
return
words = set(description.strip().split())
if not words:
return
for word in words:
if not word:
continue
indices = wordToIndices.get(word, [])
indices.append(document_number)
wordToIndices[word] = indices
def perform_search(search):
if not search or len(search) == 0:
return -1
docIdToScore = {}
sWords = set(search.strip().split())
if not sWords:
return -1
for sWord in sWords:
if not sWord:
continue
for docId您好! 本帖隐藏的内容需要积分高于 188 才可浏览 您当前积分为 0。 使用VIP即刻解锁阅读权限或查看其他获取积分的方式 游客,您好! 本帖隐藏的内容需要积分高于 188 才可浏览 您当前积分为 0。 VIP即刻解锁阅读权限 或 查看其他获取积分的方式 .heappushpop(heap, (score, -docId))
return buildAns(heap)
def buildAns(heap):
ans = []
while heap:
_, docId = heapq.heappop(heap)
ans.append(str(-docId))
return " ".join(ans[::-1]) |