腾讯广告投放后端一面

不会做呜呜呜,说是贪心

vector a: [ 1, 2, 4, 5, 9, 5], 提供一个k >=0 k < size()

[i, j] ,i <= j
i =1, j=3
包含k的子序列
比如k =2
score = std:min(a[1], a[2], a[3]) * 3 (j - i +1)
子序列最小值乘以子序列长度
求max(score)的[i, j]
#腾讯##笔试题目#
全部评论
对于每个位置 i,预处理出他作为最小值所在的最长区间(贪心),这个可以用单调栈实现,具体来说,找到每个数右边和左边第一个小于它的值,便可以处理出目标区间,至于区间是否含 k,可以预处理前缀和,定义前缀和 sumi 表示到i位置k的个数,差分判断区间和是否为零便可以知道区间是否含k,遍历维护答案
点赞 回复 分享
发布于 2021-04-02 02:19

相关推荐

真烦好烦真烦:牛友太有实力了
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

更多
牛客网
牛客企业服务