2267

暴力DFS(超时)
使用DFS,记录左括号的数量,不断遍历向右与向下,当遇到右括号数量大于左括号时,就说明非法
最后到终点时,检测左括号和右括号数量是否一致

写地很优雅,但是超时了
如果使用数组来记忆化,不知道能否不超时
以及对于m,n均小于100的情况,也会超时?dfs的复杂度是怎样的?

记忆化
确实加个记忆化就解决问题了,此外还有一个关键优化就是对lnum和rnum维度的合并

对于路径长度,即走过格子数量的计算,考虑长宽为m,n,那么外围的半边周长就是m+n,格子数量减去边角的重叠,就是m+n-1,然后换算到下标,那就是x+y+1了
由此可以把原来四维的状态无损地缩放到三维



