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.
参考:
动态规划,每一步都是相邻最近的格子的和
http://www.cnblogs.com/zuoyuan/p/3785221.html
直接的数学表达式 choose m-1 from m+n-2
http://chaoren.is-programmer.com/posts/43474.html
class Solution(object):
def uniquePaths(self, m, n):
"""
:type m: int
:type n: int
:rtype: int
"""
dp=[[0 for index in range(n)] for index in range(m)]
for row in range(m):
dp[row][0]=1
for col in range(n):
dp[0][col]=1
for row in range(1,m):
for col in range(1,n):
dp[row][col]=dp[row][col-1]+dp[row-1][col]
return dp[m-1][n-1]