题解 | #不同路径的数目(一)#

不同路径的数目(一)

http://www.nowcoder.com/practice/166eaff8439d4cd898e3ba933fbc6358

 public int uniquePaths (int m, int n) {
        // write code here
        //边界情况若在f[0][0]的位置不动就是一种情况
        if(m == 0 || n == 0){
            return 1;
        }
        //创建一个二维的数组,来表示方格
        int[][] f = new int[m][n];
        //从二维数组的行开始计算
        for(int i = 0; i < m;i++){
            //计算i行的每一列
            for(int j = 0;j < n;j++){
                //初始条件
                if(i == 0 || j == 0){
                    f[i][j] = 1;
                }else{
                    //最后一步:要么从上边下来,要么从左边过来
                    //设有x种方式从f[0][0]到f[m-2][n-1]
                    //设有y种方式从f[0][0]到f[m-1][n-2]
                    //那么到达f[m-1][n-1]就有x+y种方式
                    f[i][j] = f[i-1][j] + f[i][j-1];
                }
            }
        }
        return f[m-1][n-1];
    }

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务