关注
def getMaxMusle(distances, scores):
if(len(distances) == 0):
return []
elif(len(distances) == 1):
return [distances[0] * 2 + scores[0]]
import heapq as hq
n = len(distances)
rights = [(- distances[i] * 2 - scores[i], i) for i in range(n)]
hq.heapify(rights)
lefts, res, curr_i, curr_score = [], [], -1, 0
for _ in range(n):
if(not rights or
(lefts and lefts[0][0] <= rights[0][0] + 2 * distances[curr_i])):
curr_score -= hq.heappop(lefts)[0]
res.append(curr_score)
else:
curr_score += (- rights[0][0] - 2 *
(distances[curr_i] if(curr_i >= 0) else 0))
curr_i = max(curr_i, rights[0][1])
hq.heappop(rights)
res.append(curr_score)
while(rights and rights[0][1] < curr_i):
temp = hq.heappop(rights)
hq.heappush(lefts, (temp[0] + 2 * distances[temp[1]], temp[1]))
return res AC 100
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 校招阶段,学历VS技术哪个更重要? #
8824次浏览 112人参与
# 顺丰求职进展汇总 #
52743次浏览 283人参与
# 不卡学历的大厂有哪些? #
15116次浏览 111人参与
# 腾讯音乐求职进展汇总 #
96863次浏览 563人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
121086次浏览 1145人参与
# 除了主业以外,你还有哪些其他收入? #
5941次浏览 103人参与
# 实习时,大家都怎么称呼自己的mentor? #
42846次浏览 270人参与
# 摸鱼被leader发现了怎么办 #
60493次浏览 369人参与
# 视觉/交互/设计招聘信息汇总 #
17935次浏览 612人参与
# 社恐入职新公司如何融入团队 #
10690次浏览 62人参与
# 实习如何「偷」产出? #
24198次浏览 293人参与
# 风评不好的公司,你会去吗? #
44750次浏览 320人参与
# 考研可以缓解求职焦虑吗 #
53356次浏览 474人参与
# 职场新人体验 #
13974次浏览 144人参与
# 实习打杂,要跑路吗 #
12080次浏览 156人参与
# 校园里的破防时刻 #
6740次浏览 76人参与
# 金融财经春招备战日记 #
22521次浏览 134人参与
# 求职遇到的搞笑事件 #
121558次浏览 795人参与
# 听到哪句话就代表面试稳了or挂了? #
175799次浏览 1395人参与
# 软开人,秋招你打算投哪些公司呢 #
107522次浏览 976人参与