4.7小红书笔试 求第二题解法

小红发布n篇笔记,第i篇笔记的点赞数为a_i,评论数为b_i,选取k篇作为合集,合集的优秀程度为合集中笔记的点赞数之和乘以评论数的最小值。求最大的合集优秀程度。
样例:第一行为n,k。第二行为点赞数,第三行为评论数
4 2
1 2 3 4
3 4 2 1

output:
10
全部评论
按评论数从大到小排序 遍历的时候用一个小根堆保存当前最大的k个点赞数
1
送花
回复
分享
发布于 04-07 21:33 湖南
理解乘最小的就行,即你的和再大,你的乘数小,结果也是小。所以先按照评论数从大到小排序,前K个优秀程度就是当前的sum*评论[k-1],后面就是遍历就行,只有当当前的sum会变大的情况下,才考虑计算【因为评论数呈现非递增排序,所以后面的乘数一定是<=当前的】
1
送花
回复
分享
发布于 04-08 12:58 广东
滴滴
校招火热招聘中
官网直投
cy
1
送花
回复
分享
发布于 04-17 11:00 江苏
动态规划过73%
点赞
送花
回复
分享
发布于 04-07 23:20 上海

相关推荐

2 3 评论
分享
牛客网
牛客企业服务