当前位置: 首页 > 面试经验 >

百度暑期实习:测试开发笔试

优质
小牛编辑
98浏览
2023-03-28

百度暑期实习:测试开发笔试

#百度2024暑期实习#

3.13那场笔试(选择+编程)

30道选择,覆盖范围很广,一半题型没见过

2道中等难度编程题:

第一个题目【归零】,给一个二进制字符串,你可以采用任何连着的1组成的二进制字符串(类似于1111, 000111,1100),让这些1与给定的二进制字符串【异或】,让他全变为0即可,问最少的操作次数:

例如:1110001,让他与1110000异或得到0000001,在于1异或得到0000000,这样最少2次

解答思路:寻找全部由1组成的子串和全部由0组成的子串,比如1110001可以划分为【111,000,1】到这里两种思路:①将0的子串变为1,然后用1111111与其异或,得到全0。②将1的子串变为0,也就是例子说的方法。取两种方法的最小值即可

由于输入问题和一些边界值问题,一路从通过18%到64%到100%

第二个题目【食物最多幸福感】,给n天,每天吃食物1和食物2的幸福感为a1,b1,一天只能吃一个食物,一个食物不能连续吃,某一天可以不吃食物。问最大幸福感。

例如:n=5, A=[1,2,3,4,5],B=[3,2,1,3,5]

方法:这里用了动态规划:

dp[i] = [今天吃食物1,今天吃食物2,今天不吃]

dp[i][0] = max(dp[i-1][1], dp[i-1][2]) + A[i]

dp[i][1] = max(dp[i-1][0], dp[i-1][2]) + B[i]

dp[i][2] = max(dp[i-1])

最后提交直接100%

#2024暑期实习##百度##测试开发工程师实习生#
 类似资料: