拼多多 服务端研发 笔试4.9

1.最长子序列,维护最大值即可。

2.题都没看懂,阿巴阿巴。

3.s1降序排序后对s2遍历,内层循环找不大于s2[j]的s1[i],把s1[i]加到cur字符串里并erase,等于就继续递归寻找,小于就把剩下的直接加到后面。一开始想简单了只有0.2,后面想到了去前导0却毫无进展,只好放掉。

4.商品升序,定义券结构体重载sort对b排序。0.64超时,尝试加used剪枝a了。

#拼多多##笔试#
全部评论
1:用个栈去维护出连续0,1的长度,然后去取连续1的最大长度,取不到或者取到了但不等于9就是unlucky,否则就是lucky 2:先按不花钱的最大糖果数每个人都去拿,如果此时m已经<=0了直接输出0,否则剩下的一个人去换,因为白嫖的已经拿满了,因此只要多拿就得多用劵,所以上取整即可 3:先特判n!=m的情况,然后对于n==m的情况,先计算s1每个数字的个数nums,然后从高位往低位递归s2,bool dfs(nums,s2,p) 对于每一个位置p,能取到与s2[p]相同的就先取,然后去递归p+1,如果返回true说明取的没问题,否则先还原状态,然后从s2[p]-1遍历到1去找第一个nums[k]>=1的数k,找不到可用的就返回false,找到了就直接用这个数k,后面的直接按从大到小排列的方式把nums里的剩余的数全用了,然后返回true,如果递归到p==s2.size()的位置也返回true(这儿是能刚好组成s2的情况),答案可以在递归过程中去维护 4:按减免额b[i]从大到小排序即可,每张券去找第一个大于等a[i]的商品p[j],可以用multiset和multiset自带的成员函数lower_bound去维护(直接使用普通的lower_bound可能会超时),找不到这张券就不要了,找了记得把商品删了
2 回复 分享
发布于 04-10 09:53 山东
第二题用了long long也不过,最后尝试用python,不熟悉语法,墨迹了一个小时才做出来
1 回复 分享
发布于 04-09 22:20 河南
12ac了,3没做出来,4过了24%。 第二题直接薅羊毛,10个人就前面9个都换k/2 - 1个糖果,这样一张券都不花,剩下的一个人再把全部都换了,要花多少券(可能会加1,因为有个向上取整)就是最终结果
1 回复 分享
发布于 04-09 21:57 四川
接好运
点赞 回复 分享
发布于 04-14 15:10 吉林
1,1,0.4,0.76
点赞 回复 分享
发布于 04-10 00:29 黑龙江
第三题应该不用考虑0 题目说了是正整数数列
点赞 回复 分享
发布于 04-09 21:31 上海
第一题dp[i]表示以str[i]结尾的最长连续子串 但是只能过0.8 有佬知道咋回事嘛
点赞 回复 分享
发布于 04-09 21:23 上海
多少题会有面试机会?
点赞 回复 分享
发布于 04-09 21:19 安徽
第二题可以白嫖糖果,我变量定义就是int baipiao
点赞 回复 分享
发布于 04-09 21:13 安徽
第二题题目看的半天真的** 第三题用哈希➕回溯➕剪枝优化a了 第四题没时间暴力20%
点赞 回复 分享
发布于 04-09 21:13 陕西
第一题a了,第四题20%。第二和第三题全写出来了,提交都是0%
点赞 回复 分享
发布于 04-09 21:12 北京

相关推荐

评论
2
2
分享

创作者周榜

更多
牛客网
牛客企业服务