题目:从一个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]; }