[Leetcode]Unique Paths
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 3 x 7 grid. How many possible unique paths are there?
典型动规,注意边界条件就可以了。
1 class Solution { 2 public: 3 int uniquePaths(int m, int n) { 4 int* path = new int[m*n]; 5 for (int i = 0; i != m; i++){ 6 for (int j = 0; j != n; j++){ 7 if (i == 0){ 8 if (j == 0) 9 path[i*n + j] = 1; 10 else 11 path[i*n + j] = path[i*n + j - 1]; 12 } 13 else{ 14 if (j == 0) 15 path[i*n + j] = path[(i - 1)*n + j]; 16 else 17 path[i*n + j] = path[i*n + j - 1] + path[(i - 1)*n + j]; 18 } 19 } 20 } 21 return path[m*n - 1]; 22 } 23 };