PDD 服务端研发工程师笔试 0914

#pdd##拼多多求职进展汇总##拼多多#

9.18 更新 挂了

四道题 AK 40min

比某需要手写输入输出的简单 我说的()

11:35 一更
怎么这 性格测试 也要双机位 太抽象了

12:01 二更

t1 字符串
从A串构建B串,方法为:A串每个长度为2的子串连接成一起
给B串,反推A串

t2 发货
n, m, x
n天可以发货,一共要发m个货, 每天最多发x次
ai 表示第i天发货多少钱
bj 表示第j个包裹要在第j天或之前发货
求发完货最少需要多少钱

t3 水晶
n个水晶,每个水晶能量为ai

求多少个子串满足 子串size = SUM(a[i..j])

t4 序列分数
一个长度为n的序列,q次查询
每次给出x和y,可以进行任意次交换操作

然后
求sum(a[0..(int)(n / x)]) - sum(a[0..(int)(n / y)])可能的最大值
样例n = 7, x = 2, y = 3 即(a2 + a4 + a6) - (a4 + a6)

题解

t1
去掉尾部,输出奇数位的字符串
然后加上尾部

t2
贪心 + 懒删除(?)
排序包裹从小到大处理
小根堆维护当前最低的价格,同时记录可以在这个价格发货的天数的出现次数,暴力塞就完事
然后判次数是否已经耗尽,耗尽就弹出

t3
易知求prefix_sum[i] = prefix_sum[j - 1] + (i - j + 1)
推出 prefix_sum[i] - i - 1 = prefix_sum[j - 1] - j
蛤希表维护后者,O1查询

t4
贪心,放左边的越大越好,放右边的越小越好
维护升序、降序两个排序后的序列的前缀和

左边的个数为 n / x 右边的个数为 n / y(废话)
但是存在重复
重复应该是 n / 最小公约数(x, y)
即 n / (x * y / gcd(x, y))
去掉重复的个数后
用前缀和O1取最大的 - 最小的
全部评论
第二题真抽象, 没开long long, 直接过0用例, 我还以为算法有问题 看半天, 结果开long long后直接ac了.
2 回复 分享
发布于 09-14 11:41 广东
问一下第三题怎么做呢,就是什么多多挖水晶,我滑动窗口一直超时
1 回复 分享
发布于 09-14 11:47 天津
果然是大佬,做这么快
点赞 回复 分享
发布于 09-14 13:46 上海
大佬好强,我写了一个多小时写不出来就直接交卷了,这个笔试的题有地方看题解吗?
1 回复 分享
发布于 09-14 11:37 上海
佬问一下t2,我没oc,除了你这里写的逻辑外,是不是还需要判断堆顶最小价格对应时间是否 <= 当前bi的时间(最晚时间),不是的话还需要弹出堆顶并暂存起来,往后找,找到后再压回堆?
点赞 回复 分享
发布于 09-14 12:49 北京
前端编程题答题区是文本编辑器,没办法调试。服务端也是吗?
1 回复 分享
发布于 09-14 11:30 湖北
好久 我只有两题 第二题卡了半天,应该先做第四题的,贪心处理应该就可以了 第二题直接放弃
点赞 回复 分享
发布于 09-14 12:15 新加坡
1 回复 分享
发布于 09-14 11:22 广东

相关推荐

PDD&nbsp;temu支付&nbsp;hr面挂
牛客69480701...:你是不是没表达想去多多的意愿啊,比如说自己有很多 offer 要考虑考虑啥的,或者家里人不让在上海发展
点赞 评论 收藏
分享
昨天 15:47
上海大学 Java
正式批,timeline:9月14号笔试,9月20号上海pdd总部线下面试,9月28号意向。整体面试体验挺好的,面试官们都比较随和,而且遇到没答上来的知识点还会给我讲清楚。其实我整体表现并不好,第一轮面试面完我就感觉可能要挂了,没想到还能四轮速通。一面大概50分钟:1.自我介绍2.InnoDB的索引介绍一下3.有张表中有个varchar字段,我现在想扩容,底层是怎么做的4.有两张表,各有1t数据,我想查找这两张表中相同元素,内存4G,怎么做5.两张大表之间join,怎么优化速度6.hession序列化算法底层实现7.Zookeeper底层逻辑,如何注册发现的8.zookeeper大批量读写怎么优化,会不会宕机9.zk集群之间数据怎么共享10.手撕——哈希表11.反问--------------------------------------------------面完去大厅等着,如果通过了会有面试官叫名字,如果没通过会有hr跟你说面试结束了,我当时慌得很,等待了大概五分钟,来了二面,二面一小时十分钟左右:1.自我介绍2.知道的设计模式说一下3.InnoDB索引底层、主从复制怎么做的4.Redis持久化怎么做的,RDB和AOF怎么选择5.Redis为什么用多线程做IO,相比于单线程快在哪里6.Redis的zset为什么用跳表而不是红黑树7.java的treemap为什么用红黑树而不是跳表8.AOP和IOC说一下,为什么要用这两个特性,优势9.Git源码看过吗,rebase和merge的区别,什么时候用10.项目找一个最有特点的介绍一下11.es倒排索引介绍一下12.反问--------------------------------------------------二面我感觉答的还可以,比一面好一点,又在外面等了五分钟,三面,三面持续一小时,看似问题比较少,但是每个问题我都会讲很久:1.自我介绍2.讲一下小论文3.讲一下实验室项目,分别做了什么,团队多少人,什么分工4.讲一下实习经历,都干了什么活,团队多少人5.Redis为什么这么快6.手撕——找出数组中所有和等于target的子数组(滑动窗口)7.反问--------------------------------------------------我面完三面已经五点多了,等候大厅一个人都没有了,又在外面等了一会,hr面大概20分钟:1.自我介绍2.介绍一下实习的项目背景3.Base地有没有限制4.上海的公司投了那些5.有没有流程比较靠后的6.找工作的期望7.薪资期望8.接不接受拼多多的强度9.反问--------------------------------------------------总体体验很棒,虽然拼多多强度挺大的,但是给我发了嫡长意向,还是非常想去的
发面经攒人品
点赞 评论 收藏
分享
评论
3
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务