62. 不同路径c

int uniquePaths(int m, int n) {
long** dp=(long**)malloc(sizeof(long*)*(m+10));
for(int i=0;i<m+10;i++) dp[i]=(long*)malloc(sizeof(long)*(n+3));
for(int i=0;i<=m;i++) dp[i][0]=1;
for(int i=0;i<=n;i++) dp[0][i]=1;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
return dp[m-1][n-1];
}
要注意不是求走多少步,所以边界初始化位1。然后数据很大用long,感觉以后全用long 就好了。

浙公网安备 33010602011771号