15% off all plans & roadmaps Use code
See plansLeetCode 63 · Solution & editorial
You are given an m x n integer array grid. There is a robot initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only move either down or right at any point in time.
Unique Paths II is a Dynamic Programming (DP) Patterns problem, in the 2D Array (Unique Paths on Grid) subpattern. The pattern covers fibonacci, Kadane, knapsack, LCS, LIS, edit distance, grid paths, and word break
Count paths and find optimal paths in grids using 2D dynamic programming.
The reference solution runs in O(m * n) time and O(m * n) space.
Unique Paths II has been reported in interviews at Amazon, Bloomberg, Facebook, Microsoft.
The full editorial is part of Pro
It explains the core insight, the complexity analysis and the common mistakes, with a worked solution.
Unique Paths II is a Dynamic Programming (DP) Patterns problem, in the 2D Array (Unique Paths on Grid) subpattern. Once the approach above makes sense, write it yourself and then work through the neighbouring problems that reuse it.