百度笔试回顾
前几天做的,回顾总结一下
编程题1:就是先通过记录字符串中所有 '0' 的位置和前缀 '1' 的数量,然后使用动态规划计算使所有 '0' 位于 '1' 之前的最少操作次数。
编程题2:首先做一个任意进制下的无进位加法(异或)和减法的函数,然后预处理出 2 到 10 进制下的前缀异或和数组,对于每次查询,计算子区间在各进制下的异或和,最后,取这些值的最大值与最小值之差作为权值并输出。
编程题3:第一步,判断若全是 M 或全是 C 则损伤为 0;否则通过二分搜索找最小损伤值,对每个候选损伤值,用滑动窗口检查是否存在满足条件的值,最后,找到并输出最小损伤值。
#发面经攒人品#