Note: m and n will be at most 100.
这也是一题动态规划的题目,设定一个二维的数组,每个格子都可以由其他格子走过来,然后可以算得最终的种类。
class Solution { public: int uniquePaths(int m, int n) { int** path; path = (int **)malloc(m*sizeof(int*)); if(m == 0 || n == 0) return 0; for(int i = 0;i < m;i++) { path[i] = (int *)malloc(n*sizeof(int)); for(int j = 0; j < n;j ++) { if(j == 0|| i == 0) path[i][j] = 1; else path[i][j] = path[i][j-1] + path[i-1][j]; } } return path[m-1][n-1]; } };