329. Longest Increasing Path in a Matrix
思路:计算某个位置i,j,最长路径的长度。计算长度的条件是:如果i,j的相邻位置newi,newj不能出matrix的边界,并且
matrix[newi][newj]>matrix[i][j]
m
a
t
r
i
x
[
n
e
w
i
]
[
n
e
w
j
]
>
m
a
t
r
i
x
[
i
]
[
j
]
,则长度加1。
多看几遍代码,发现旧的位置只需要计算一遍,不需要重复计算,用缓存加快速度。
DFS先解决一个节点;再找到邻接节点与该节点的关系。或者说先解决一个子问题,再解决稍微大点的问题。和DP有点类似。
代码