题解 | #不同路径的数目(一)#
不同路径的数目(一)
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
 360集团公司氛围 355人发布
360集团公司氛围 355人发布