机器人位于m x n网格的左上角(在下图中标记为“开始”) 机器人只能随时向下或向右移动。

来源:互联网 发布:java 图片裁剪工具类 编辑:程序博客网 时间:2024/06/05 06:43

本题源自leetcode  62

思路:动态规划

 1 只能向下或者向右走。所以当在i=0 或者 j = 0时  等于1

2 dp[i] [j] = dp[i-1][j] + dp[i][j-1];

代码:

int uniquePaths(int m, int n) {        vector<vector<int>> dp(m,vector<int>(n,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];    }

代码2;

int uniquePaths(int m, int n) {        int total = m + n -2; //一共要走的步数        int down = m - 1;  //向下要走的步数        double res = 1;        for(int i = 1 ; i <= down; i++){            res =res * (total - down + i) / i;        }        return (int)res;    }


阅读全文
0 0
原创粉丝点击