Given an integer matrix, find the length of the longest increasing path.
From each cell, you can either move to four directions: left, right, up or down. You may NOT move diagonally or move outside of the boundary (i.e. wrap-around is not allowed).
Example 1:
Return 4
The longest increasing path is [1, 2, 6, 9].
Example 2:
Return 4
The longest increasing path is [3, 4, 5, 6]. Moving diagonally is not allowed.
Solution:
DFS to go through all nodes and use another array to cache all the visited node, incase we revisit again. reduce alot of unnecessnary operations. Time complixity is O(nm) .