# The Problem:

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?

# Notes:

- A basic DP problem, and also can be done by directly calculate choose m from (m+n).

# Java Solution

public class Solution { public int uniquePaths(int m, int n) { int[][] path= new int[m][n]; for(int j = 0; j < n; j++){ path[0][j] = 1; } for(int i = 0; i < m; i++){ path[i][0] = 1; } for(int i = 1; i < m; i++){ for(int j = 1; j < n; j++){ path[i][j] = path[i-1][j]+path[i][j-1]; } } return path[m-1][n-1]; } }

Advertisements