腾讯笔试 9.15 技术研究

技术研究的笔试感觉比第一次难😅😅
只做了4题出来了,时间根本来不及

1. 统计每个元素次数,然后对统计出来的次数组成的集合,枚举子集,对每个子集求积,然后所有积求和。 DFS枚举子集会超时。这边考虑次数组成的集合里面,每增加一个元素,最终的和会 增加 v[i] *(1+ans)其中ans是不增加元素的答案,所以直接for循环累加得到最后的ans。

2. 按照题目的意思,先对最后的公式化简一下,得到一个包含(k-1 / k+1)的n次方的式子,对这个式子累加求积,不断约分,最后再加1,再除以2,再约分。

3. 不断合并2项,求出所有合并过程中第1项的和,直到最后只剩下两项目。首先求出合并次数,是一个M=log2(n)次,然后每个元素的权重从M到1降低,每个权重需要2的c次方,c为当前合并次数。依次加一次就好,加的过程注意每个元素的次数a是否能满足当前需要的元素个数2的c次方。

4. 给平面n个点的坐标,求起点到终点的最短路径长度。由于距离是欧式距离,可以很容易的证明到,最短路径中间最多只经过一个点。因此只要枚举所有中间点即可。O(n)的复杂度。

5,时间来不及了。
全部评论
太强了佬
1 回复
分享
发布于 2023-09-15 23:14 上海
第5题我也不会
点赞 回复
分享
发布于 2023-09-15 23:05 北京
滴滴
校招火热招聘中
官网直投
第三题合并应该次数不是log2(n),应该是log2(n-1)。比如n=8的时候,只需要合并两次就可以了
点赞 回复
分享
发布于 2023-09-15 23:14 北京
我第二个和第三个题都只对了60%不知道为啥
点赞 回复
分享
发布于 2023-09-16 05:35 英国
第四题我直接模拟,例子都能跑通,提交就是0不知道为啥😓
点赞 回复
分享
发布于 2023-09-16 08:20 浙江

相关推荐

4 8 评论
分享
牛客网
牛客企业服务