Back to Practice Dashboard
Top 150 InterviewMedium
Longest Increasing Path In Matrix
Learn how to solve the 'Longest Increasing Path In Matrix' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Medium
Given an m x n integers matrix, return the length of the longest increasing path in matrix.
From each cell, you can either move in four directions: left, right, up, or down. You may not move diagonally or move outside the boundary (i.e., wrap-around is not allowed).
Write a function longestIncreasingPath(matrix: List[List[int]]) -> int.
Constraints
- •m == len(matrix)
- •n == len(matrix[0])
- •1 <= m, n <= 200
- •0 <= matrix[i][j] <= 2^31 - 1
Examples
Example 1
Input
matrix = [[9,9,4],[6,6,8],[2,1,1]]
Output
4
Explanation
The longest increasing path is [1, 2, 6, 9].
Example 2
Input
matrix = [[3,4,5],[3,2,6],[2,2,1]]
Output
4
Explanation
The longest increasing path is [3, 4, 5, 6]. Moving diagonally is not allowed.
Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.