https://leetcode.com/problems/unique-paths/description/
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?
解题思路
状态转移方程
dp[i][j]=dp[i][j-1]+dp[i-1][j]
边界
dp[i][0]=1
dp[0][j]=1
public class Unique_Paths_62 {
/**
* 递推公式dp[i][j]=dp[i][j-1]+dp[i-1][j]
* 边界
* dp[i][0]=1
* dp[0][j]=1
* @param m
* @param n
* @return
*/
public int uniquePaths(int m, int n) {
if(m==1||n==1)return 1;
int[][] dp = new int[m+1][n+1];
dp[0][0]=1;
for(int i=1;i<=m;i++){
dp[i][0] = 1;
for(int j=1;j<=n;j++){
dp[0][j] = 1;
dp[i][j]=dp[i][j-1]+dp[i-1][j];
}
}
return dp[m-1][n-1];
}
public static void main(String[] args) {
System.out.println(new Unique_Paths_62().uniquePaths(3, 7));
}
}