笔经|百度后端暑期实习笔试

2022.3.22

第一题

给个二维数组表示图形,将其等比放大。

我的思路:签到题,就是一个像素放大k倍,面积为原来的k^2。

第二题

给一个01串,下标从1开始,求两个窗口,窗口大小相等,可以相交但不能完全重叠,其中一个包含的0和1的个数和另外一个相等,取窗口长度最大的。

输入:11011

输出:1 4 2 5(1到4中有3个1和1个0,2到5中也有3个1和1个0)

数据量10^6。

我的思路:

1、直接输出1 n - 1 2 n,能过32%

2、求前缀和,然后遍历长度(从n-1到2),通过前缀和求1的长度,存max里,另存一个变量存max的数量,遍历完如果max数量大于1,则该长度就是所求答案,再遍历一次,任意找两对输出即可。

该方法是O(n^2)的,最后过了80%,不知道咋优化了。

第三题

题目输入挺复杂,是个图,按顺序一条条路走就行。

一个人送快递,有n个村庄(下标1开始),先输入m条单向边,再输入k条双向边,起点为s,每条边起点u终点v耗时w。

图中可能存在重边和自己到自己的边。

若到达一个地方时总耗时为单数,则再耗时a,否则耗时b。

一共q个快递,每个快递需要送到qi,按顺序送。

最后需要回到起点。

求最短所需时间。

输入:

3 0 3 1

1 2 3

3 2 6

1 3 9

6 3 3

1 2 3

输出:

30

数据量10^6。

我的思路:Floyd求最短路,自己到自己为0,然后按步骤来,最后回起点。

两个例子能过,提交只有4%,因为建图和路长存储都直接无脑数组n ^ 2了,算最短路更是n ^ 3,可能剩下都超时超内存了吧。。。


#实习经验分享##百度##笔试题目#
全部评论
第一题4层循环AC吗
点赞 回复 分享
发布于 2022-03-22 21:34
我也是4%,你是显示超时还是错误,我是显示错误
点赞 回复 分享
发布于 2022-03-22 21:47
第三题 样例对了 答案❌
点赞 回复 分享
发布于 2022-03-22 21:51
第一题用两层循环就能解决了 合理利用下标 ans[i][j]=a[i/k][j/k]
点赞 回复 分享
发布于 2022-03-23 00:29
100分不知道多少分能进面试
点赞 回复 分享
发布于 2022-03-23 00:32

相关推荐

10-10 17:54
点赞 评论 收藏
分享
评论
4
15
分享
牛客网
牛客企业服务