This question evaluates understanding of grid-based graph traversal, dynamic programming/memoization, and algorithmic complexity analysis for identifying longest strictly increasing paths in matrices.

Given an m × n integer matrix, return the length of the longest path of strictly increasing values, where from each cell you may move only up, down, left, or right. Design an efficient algorithm and analyze its time and space complexity. Follow-up: Handle very large matrices where recursion depth could be an issue; provide an iterative or memoized approach that avoids stack overflow.