欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[leetcode]62. 不同路径

程序员文章站 2022-07-12 12:59:02
...

1.题目:
一个机器人位于一个 m x n 网格的左上角
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角
问总共有多少条不同的路径?
2.代码:

/*
1.数学方法:C(m-1,m+n-2)
2.动态规划:s[i][j]=s[i+1][j]+s[i][j+1];    
因为最后一行(列)也要+1,为防止溢出建[n+1][m+1],初始化为0;
初始化[n-1][m]=1,这样s[n-1][m-1]=0+1=1;
           m-1m
        0 1 2 3
      0       0
  n-1 1       1
  n   2 0 0 0 0
*/
int uniquePaths(int m, int n) {
    int s[n+1][m+1];
    memset(s,0,(sizeof(int )*(m+1)*(n+1)));
    s[n-1][m]=1;
    for(int i=n-1;i>=0;--i)
        for(int j=m-1;j>=0;--j)          
            s[i][j]=s[i+1][j]+s[i][j+1];    
    return s[0][0];
}

3.知识点:

动态规划