/****************************
   Name:  Unique Paths I 
   Date: 02/01/2016
   Author: Hualin Li
   Description: This is the Unique Paths I in the C++. 还是DP大法
   做题感想:这道题和走楼梯有着异曲同工之妙。解题的诀窍在于列出DP公式如下:
   dp[i][j]=dp[i][j-1]+dp[i-1][j]。同时,要理解一点:如果该路径变成一维的,
   无论是横看的一维还是竖着看的一维,都只有一种走法。
   
*****************************/
class Solution {
public:
    int uniquePaths(int m, int n) {
        
		int dp[m][n];
		
		//initialize both 1-D array
			for(int i=0;i<m;i++)
			dp[i][0]=1;
		
			for(int j=0;j<n;j++)
			dp[0][j]=1;
			
		
		for(int i=1;i<m;i++)
			for(int j=1;j<n;j++)
				dp[i][j]=dp[i][j-1]+dp[i-1][j];
			
		return dp[m-1][n-1];
		
    }
};
  
  
回到主页 回到目录