【leetcode】不同路徑

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

 

 

 

 

因爲只能往右、往下走,所以到達某格子的路徑數等於到達它上邊一個格子的路徑數+到達它左邊一個格子的路徑數之和。

畫個圖就一目瞭然了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章