67. Unique Paths

当前的数目 = 同行上列 + 同列上行  回溯法把爷逗乐了,runtime爆炸。所以肯定是DP

DP:

public class Solution {
    public int uniquePaths(int m, int n) {
        int[][] ways = new int[m][n];
        for (int i = 0; i < m; i++) {
            for (int j = 0; j < n; j++) {
                if (i == 0 || j == 0) ways[i][j] = 1;
                else ways[i][j] = ways[i-1][j] + ways[i][j-1];
            }
        }
        return ways[m-1][n-1];
    }
}

第一行和第一列的值只能是1,因为只有一种方法,第一行:向右,第一列:向下。

其余的,就是到达 (i , j) 的路径数 == 到达(i-1,j)的途径 + 到达(i,j-1)的途径。

猜你喜欢

转载自www.cnblogs.com/wentiliangkaihua/p/10404429.html