/**
记忆化搜索:
*/
int[][] memo;
public int uniquePaths(int m, int n) {
//备忘录:
memo = new int[m+1][n+1];
return dfs(m,n);
}
private int dfs(int i, int j){
if(i == 0 || j == 0) return 0;
if(i == 1 && j == 1) {
memo[i][j] = 1;
return 1;
}
if(memo[i][j] != 0)
return memo[i][j];
memo[i][j] = dfs(i-1,j)+dfs(i,j-1);
return memo[i][j];