leetcode-Unique Paths-62
输入m,n代表一个m*n的矩阵,求从左上角走到右下角,每次只能往右或者往下走,能有多少种走法
找规律,发现就是从右下角开始填数字,每个格子的值是a[i][j]=a[i+1][j]+a[i][j+1],最后输出a[0][0],具体的画图理解
1 class Solution { 2 public: 3 int uniquePaths(int m, int n) { 4 if(m==0&&n==0) return 0; 5 int a[m+1][n+1]; 6 memset(a,0,sizeof(a)); 7 for(int i=0;i<m;i++) a[i][n-1]=1; 8 for(int i=0;i<n;i++) a[m-1][i]=1; 9 for(int i=m-2;i>=0;i--){ 10 for(int j=n-2;j>=0;j--){ 11 a[i][j]=a[i+1][j]+a[i][j+1]; 12 } 13 } 14 return a[0][0]; 15 } 16 };