All problems
MediumDp

Unique Paths

googleamazonmetamicrosoftbloombergapple

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