Unique Paths
There is a robot on an m x n grid. The robot is 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.
Given the two integers m and n, return the number of possible unique paths that the robot can take to reach the bottom-right corner.
Example 1:
Input: m = 3, n = 7
Output: 28
Explanation: From the top-left corner, there are a total of 28 unique paths to reach the bottom-right corner.
Example 2:
Input: m = 3, n = 2
Output: 3
Explanation: From the top-left corner, there are a total of 3 ways to reach the bottom-right corner:
1. Right -> Down -> Down
2. Down -> Down -> Right
3. Down -> Right -> Down
Example 3:
Input: m = 1, n = 1
Output: 1
Explanation: The robot is already at the destination.
Examples
Example 1
Input: m = 3, n = 7
Output: 28
Explanation: The robot must make exactly 2 moves down and 6 moves right (in any order), giving C(8,2) = 28 unique paths.
Example 2
Input: m = 3, n = 2
Output: 3
Explanation: Three paths: RDD, DRD, DDR (where R = right, D = down).
Constraints
- -1 <= m, n <= 100
Optimal Complexity
Time
O(m * n)
Space
O(n)
Practice this problem with an AI interviewer
TechInView conducts a full voice mock interview — the AI asks clarifying questions, evaluates your approach, watches you code, and scores you on 5 dimensions. Just like a real FAANG interview.
Start a free interview