百度笔试1019,b卷,只A出前两道。第一题,分裂数字,直接把一个数每次都分成2*min即可,最开始我还想着每次2分,结果0%。 明白为什么了,3,18时,18分成三个6只要两次,但如果是2个9,就要再分,是三次。第二题,求字符串中长度为k的前半和=1/2后半和的满足数量,滑动窗口即可第三题,01偶数长度字符串,对称位置相同即为好对,可以进行最多m次操作(翻转01),求共有多少种方案可以使得最终刚好有k个好对。我的想法是,先达成k对好对,就至少需要k-已有好对次操作。 这个操作种数我用C(不好对数,操作次数)*2,是不是这里就错了。达成好对目标后,就可以考虑每次增加2个操作(while),做抵消的操作,即C(对数,抵消操作数/2),这里是所有对,还是没操作过的对当底数我也不清楚。总的来说应该是用排列组合算,但两个排列数我都不会算,难顶。