首页 > 代码库 > 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?


Above is a 3 x 7 grid. 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<=0||n<=0)
        {
            return 0;
        }
        if(n>m)
        {
            return uniquePaths(n,m);
        }
        int []ROW=new int[n];
        int row;
        int col;
        for(col=0;col<n;col++)
        {
            ROW[col]=1;
        }
        for(row=m-2;row>=0;row--)
        {
            for(col=n-2;col>=0;col--)
            {
                ROW[col]=ROW[col]+ROW[col+1];
            }
        }
        return ROW[0];
    }
}


Unique Paths