A了三题,最后一题还剩2分钟,题目还没看完结束了。 第一题只需判断两次,左边一次右边一次。如果存在“.”的左右两边都是“#”,那么这个方向就无法出去。遍历判断即可。 第二题,注意到,移动字符位置无需花费。那么只需贪心地将0和1的位置移动到与原来不同的位置,直到第一次出现0和1不够的情况,那么记录当前长度,总长度-当前长度就是需要删除的次数。 第三题用双指针,如果l-r这个区间是合法的,那么l到(r~len - 1)区间都是合法的,ans += len - r;然后循环左指针l++,判断是否依旧符合条件。 第四题没时间了。