您的位置:首页 > 产品设计 > UI/UE

leetcode 9: Unique Paths

2012-12-22 07:53 99 查看
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.

class Solution {
template <class T>
T swap( T& t1, T& t2) {
T temp;
temp = t1;
t1 = t2;
t2 = temp;
}

public:
int uniquePaths(int m, int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function

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

vector<int> r(n,0);
vector< vector<int> > dp(m, r);

for( int i=0; i<n; ++i) {
dp[0][i] = 1;
}

for( int i=0; i<m; ++i) {
dp[i][0] = 1;
}

for( int i=1; i<m; ++i) {
for(int j=1; j<n; ++j) {
dp[i][j] = dp[i-1][j] + dp[i][j-1];
}
}

return dp[m-1][n-1];
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: