腾讯广告投放后端一面

不会做呜呜呜,说是贪心

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

相关推荐

牛牛不会牛泪:可以先别急着租房,去青旅,或者订个近点的宾馆待几天。先看看要做的能不能学到东西,然后看文档完不完善,写的好不好,mentor对你咋样,公司氛围啥的。情况不对赶快跑路找下家
点赞 评论 收藏
分享
点赞 4 评论
分享
牛客网
牛客企业服务