谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix

谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix_第1张图片
谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix_第2张图片


我的这个这个暴力解法直接stackoverflow了。 不过我是发现了如果用array存储每个点的longest subsequence so far的话肯定省事很多。

谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix_第3张图片


From Here, 我是发现了一件事! 人家为什么不用row+1, col+1这种东西??自习看了一下。。soga。 用的是dirs array原理一样。

谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix_第4张图片

一个很trick的地方: 每一个点似乎只能访问一次。 为什么? 因为比如在第一个点用DFS的时候,他会把顺带之后的path上的点的cache[i][j]值都求出来,这样的话,我们之后如果又访问这个点就不需要执行了。

谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix_第5张图片

你可能感兴趣的:(谷歌:矩阵中的最长上升路径Longest Increasing Path in Matrix)