这个题确实不会..只能想到naive的做法,不过那样应该是O(n³),不会满足要求. 看TAG是DP,那应该是建立DP[][]记录每点可炸的情况.一个点如果左边/上边是墙,或者左边/上边是边界,就要重新计算,否则跟左边/上边的那个格子的情况一样. 是空位就来一发,然后取最大. 这样应该是mn的extra space,时间变成(常数,但是不知道是什么..)*n². 不是很确定,看了答案,发现很巧妙.. 因为遍历是在一行一行的基础上,每列每列,所以没必要MN的extra space,一个变量记录每行…