不同路径和

题目:从一个m*n的格子的左上走到右下,求有多少路径,只能向右和向下

思路:简单二维dp,dp[i][j]里存起始到当前格子的不同路径和,它只能从两个方向到达,所以求左边和上边的路径和

 public int uniquePaths(int m, int n) {
        int[][] dp=new int[m][n];
        for(int i=1;i<m;i++)
            dp[i][0]=1;
        for(int i=0;i<n;i++)
            dp[0][i]=1;
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                dp[i][j]=dp[i-1][j]+dp[i][j-1];
            }
        }
        return dp[m-1][n-1];
    }
原文地址:https://www.cnblogs.com/team42/p/6747951.html