62. 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.

   

解题思路:

水题。。。。求c(n+m-2,min(n,m)-1)。注意乘法可能导致int溢出,将其先转换为long即可

class Solution {

public:

    int uniquePaths(int m, int n) {

        int res=1;

        if(n==1||m==1)return 1;

        int tmp=m>n?n-1:m-1;

       for(int i=m+n-2,j=1;j<=tmp;i--,j++)

       res=(int)((long)res*(long)i/j);

       return res;

    }

};

 

posted on 2016-03-15 21:33  olive_lv  阅读(101)  评论(0)    收藏  举报

导航