拼多多算法实习生二面面经 6.7

感觉好难啊, 和一面的感觉差太多了, 面试官也没开摄像头, 得不到反馈

1.自我介绍

2.为什么读博

3.之前是做自动驾驶的, 为什么现在要来pdd算法

4.介绍一下项目, 介绍了半天, 也没深问就过了

5.第一道算法题, 问至少要多少人才能保证有两人同月出生的概率大于90%. 一开始一维手推, 推半天推不出来, 然后面试官说可以写代码试试. 我的思路是暴力枚举, 首先假设取n个人, 那么每个人都能分配到一个月中, 也就用$12^n$ 种情况, 然后考虑没有重复月的情况, 就是在12个月中选n个月, 这是个组合数, 另外分配人需要考虑人的排列, 再乘上$n!$, 也就是不可能的情况的概率是 $n!*C(12,n)/12**n$ 然后遍历n从1到13, 第一个概率小于0.1的退出就可以. 思路感觉没问题, 但是我好像有地方写错了, 不能自己运行, 面试官也没说什么

6.第二道算法题, 字符流中第一次出现的第一个字母, 比如google, 第一个字符g, 出现一次, 输出g, 第二个字符o, o和g都出现一次, 但是g出现靠前, 输出g, 第三个字符g, 只有g出现一次, 输出g, 第四个字符g, 没有出现一次的字符, 输出'', 第五个字符l, 只有l出现一次, 输出l, 第六个字符e, l和e都出现一次, 但是l更靠前, 输出l. 我的思路是维护一个哈希表记录每个字母出现的个数, 同时再用一个列表存储字母出现的顺序. 遍历字母, 如果这个字母没有出现, 那么加入列表中, 然后更新哈希表, 如果字母出现了, 只更新哈希表. 然后从前往后遍历列表, 判断遍历到的字母的出现次数是不是1, 如果是1, 就加入答案中. 如果遍历完都没找到就将''加入答案中. 这个不能调试, 中间定义变量重名了, 错了三次...无语了, 最后面试官说, 列表中靠前的已经出现超过一次的字符存储是不是没什么用, 答可以用队列优化

7.第三道算法题, lc10. 正则表达式匹配. 想到了dp, 但是不能调试, 完全写不对, 后来给面试官说了思路, 面试官说思路没问题. 中间问面试官, 两个字符串是不是一个包含.* 一个不包含, 面试官说都可能包含, 感觉题目瞬间上了一个难度

8.问问面试官的建议, 面试官说感觉我代码能力很强, 后面上手应该很快, 但是需要想清楚, 因为和自动驾驶不太搭(主要不是自动驾驶不要我嘛, 才想着转方向)

感觉有点凉, 全程太紧张了, 只有txt编辑器确实有点难受, 感觉没有平时发挥的好, 许愿三面!

#拼多多##算法##实习#
全部评论
感觉寄了,第一题想要每个人都不一样,第一个人可以选12个月中任意一月,第二个人可以选11个人月中任意一月,第n个人可以选13-n个月中的任意一月,那么n个人不存在同月的概率就是12*11*...*(13-n)/12**n,虽然和我写的公式一样,但是明显这个更简单😭😭
1 回复 分享
发布于 06-07 22:53 吉林
第一题很经典呀,普林斯顿的概率论教材开篇就是那道题
点赞 回复 分享
发布于 06-07 16:53 辽宁
怎么感觉你的二面压力给的有点大啊,我的二面全程轻松愉快,先问了我的科研项目,然后问一个线性代数基础问题,然后就考了一个算法题,在面试官的一步步提示下做出来了,然后就开始闲聊了
点赞 回复 分享
发布于 06-08 13:11 安徽

相关推荐

评论
5
14
分享
牛客网
牛客企业服务