62. Unique Paths


A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).
The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).
How many possible unique paths are there?


Above is a 7 x 3 grid. How many possible unique paths are there?




Dp : space and time are m * n
class Solution {
    public int uniquePaths(int m, int n) {
        // fill in the top and left in the matrix with 1 
        // fill in the rest of the matrix in the trational style . with formular : current number = top number + left number 
        // return the last number filled in this matrix 
        int[][] matrix = new int[m][n];
        for(int j = 0; j < matrix[0].length; j++){
            matrix[0][j] = 1;
        }
        
        for(int i = 0; i < matrix.length; i++){
            matrix[i][0] = 1;
        }
        
        for(int i = 1; i < matrix.length; i++){
            for(int j = 1; j < matrix[0].length; j++){
                matrix[i][j] = matrix[i - 1][j] + matrix[i][j - 1];
            }
        }
        return matrix[m-1][n-1]; 
    }
}

 

posted on 2018-09-20 18:21  猪猪&#128055;  阅读(85)  评论(0)    收藏  举报

导航