原来我对斐波那契数列的动态规划不是那么熟悉啊
二位动态规划使用,不用递归,用循环
才发现这个想法:
http://blog.unieagle.net/2012/11/04/leetcode%E9%A2%98%E7%9B%AE%EF%BC%9Aunique-paths/
比我的简单多了。
找出了规律。
class Solution {
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<vector<int>> r;
r.resize(m);
for(int i=0;i<m;i++) r[i].resize(n);
for(int i=0;i<m;i++) r[i][0]=1;
for(int i=0;i<n;i++) r[0][i]=1;
for(int mi=1;mi<m;mi++)
{
for(int ni=1;ni<n;ni++)
{
r[mi][ni]=r[mi-1][ni]+r[mi][ni-1];
}
}
return r[m-1][n-1];
}
};