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

不同路径的数目(一)

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

import java.util.*;


public class Solution {
    /**
     *
     * @param m int整型
     * @param n int整型
     * @return int整型
     */
    public int uniquePaths (int m, int n) {
        // write code here
        // 设出发点[0][0]   终点为[m-1][n-1]
        // 走一步,两种情况可以到达终点
        int [][] step = new int [m][n];
        if (m == 1 || n == 1) {
            return 1;
        }
        for (int i = 0; i < m; i++) {
            if ( i == 0) {
                for (int j = 0; j < n; j++) {
                    step[i][j] = 1;
                }
            } else {
                step[i][0] = 1;
                for (int j = 1; j < n; j++) {
                    step[i][j] = step[i - 1][j] + step[i][j - 1];
                }
            }

        }
        return step[m - 1][n - 1];

    }
}

理解题目意思就很简单,定义二维数组,第0行和第0列都为1种情况,然后其余的就是相邻两个格子的走法相加。

注意二维数组的长度就是m和n

全部评论

相关推荐

11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务