我覺得我有必要把我能寫出到遞歸也貼出來,畢竟很多人搜不到,大佬還拿遞歸不當回事
遞歸,輸入m和n的時候減一操作
int uniquePaths(int m, int n) {
if(m<0 || n<0)
return 1;
if(0==m)
return uniquePaths(m,n-1);
if(0==n)
return uniquePaths(m-1,n);
return uniquePaths(m,n-1)+uniquePaths(m-1,n);
}
dp
int dp(int m ,int n)
{
vector<vector<int>>a(m,vector<int>(n,0));
a[0][0]=1;
for(int i=0;i<m;++i)
{
for(int j=0;j<n;++j)
{
if(0==i && 0==j)
continue;
else if(i==0)
a[i][j]=a[i][j-1];
else if(0==j)
a[i][j]=a[i-1][j];
else
a[i][j] = a[i-1][j] + a[i][j-1];
}
}
return a[m-1][n-1];
}