首页 > 代码库 > Unique Paths

Unique Paths

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?

Note: m and n will be at most 100.

public class Solution {
    public int uniquePaths(int m, int n) {
        if(m==1 || n==1) return 1;
        int N=m+n-2;
        double res=1.0;
        //cal N!/(n-1)!*(m-1)!
        for(int i=1;i<=m-1;i++){
            res=res*(n+i-1)/i;
        }
        return (int)res;
    }
}