拼多多笔试10.8

感觉好难,抛砖引玉希望大佬说一下解答方法。

1、田忌赛马
双指针比较两者手牌,从大到小,遇到一定比不过的就用小的牌

2、上涨k
贪心,判断是否会超过上限k,否则就计算分母最少需要加上的值

3、最多PDD子串。
这个完全不会,题目写详细一点希望大佬们解答一下。

题目:给出一个只包含P和D的字符串s 和 最多的编辑距离m,求所有 s 在m编辑距离之内的字符串,包含PDD子串最多的个数
例子
3
PPDPDDDDD
输出 3
可以编辑成PDDPDDPDD,包含3个

6
P
可以编辑成PDDPDD,包含2个
数据范围,m <= 10^6, s的长度n <= 10^5

4 最短的薄弱防御
长度为n的数组a, ai表示建防御塔的时间,t表示总的时间上限,求两个防御塔之间最大的间隔的最小值
二分查找+单调队列优化
二分查找最小的间隔k,然后判断这个k是否可行
这部分我用的是单调队列,假设遍历到了 i, 维护i - k这段的单调队列,队头就是能到达i的总时间消耗的最小值,判断最后到n + 1是否能小于总时间上限来确定k是否可行。

-------------------------分割线------------------------------
顺便问下要多少才可能会有面试啊
全部评论
感谢大佬解答 问完那个问题就突然想出来了,直接删掉那个评论了,没想到大佬回复这么快!
1 回复 分享
发布于 2023-10-08 17:47 广东
第3题,我是把pdd这样的字串先统计上,然后看剩余的字符串,如果有pd,dd就需要1次操作变成pdd, 然后零散的d和p需要操作2次才能变成pdd,之后再加上剩余的操作次数/3。 但是最终只获得了35%通过率
1 回复 分享
发布于 2023-10-08 17:28 湖南
第一题可以用2个优先队列;第四题有用回溯的吗,最后一分钟写出来了,没时间提交验证了
点赞 回复 分享
发布于 2023-10-08 22:50 陕西
老哥第四题ac了吗?
点赞 回复 分享
发布于 2023-10-08 21:38 江苏
可以贴一下第二题代码吗?我一直百分之零,不知道哪里不对
点赞 回复 分享
发布于 2023-10-08 17:26 江苏
太强了佬,我第一题用了排序,找到第一个比对手排大的数; 编辑距离写出来了,但是调用条件没写对,太**菜了。
点赞 回复 分享
发布于 2023-10-08 17:26 四川

相关推荐

xwqlikepsl:感觉很厉害啊,慢慢找
点赞 评论 收藏
分享
04-28 22:33
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
2
11
分享

创作者周榜

更多
牛客网
牛客企业服务