这个比求最小路径和差不多

public int uniquePaths (int m, int n) {
    // write code here
    if(m==0 || n==0){
        return 0;
    }
    int [][] dp=new int [m][n];
    for(int x=0;x<m;x++){
        for(int y=0;y<n;y++){
            if(y==0){
                dp[x][y]=1;
            }else if(x==0){
                dp[x][y]=1;
            } else {
                dp[x][y]=dp[x][y-1]+dp[x-1][y];
            }
        }
    }
    return dp[m-1][n-1];
}