#8 LeetCode ( Q: (62) Unique Paths)
2 min readMar 25, 2020
LeetCode 62 Unique Paths, Coding Interview Question
Level : Medium
Challenge : 8/1000
A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).
The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘Finish’ in the diagram below).
How many possible unique paths are there?
Above is a 7 x 3 grid. How many possible unique paths are there?
Example 1:
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 -> Right -> Down
2. Right -> Down -> Right
3. Down -> Right -> Right
Example 2:
Input: m = 7, n = 3
Output: 28
Constraints:
1 <= m, n <= 100
- It’s guaranteed that the answer will be less than or equal to
2 * 10 ^ 9
.
Solution — Java
class Solution {
private int[][] dp;
private int m;
private int n;
public int uniquePaths(int m, int n) {
this.dp = new int[m][n];
this.m = m;
this.n = n;
return dfs(0, 0);
}
private int dfs(int x, int y) {
if (x > m - 1 || y > n - 1)
return 0;
if (x == m - 1 && y == n - 1)
return 1;
if (dp[x][y] == 0)
dp[x][y] = dfs(x + 1, y) + dfs(x , y + 1);
return dp[x][y];
}
}
Goal : 8 / 1000
#StayHome