Above is a 3 x 7 grid. How many possible unique paths are there?
这题有两种解法
1.直接的数学表达式 choose m-1 from m+n-2
class Solution: # @return an integer def fac(self,n): if n==1 or n==0: return 1 return n*self.fac(n-1) def uniquePaths(self, m, n): if m==1 or n==1: return 1 val1=self.fac(m+n-2) val2=self.fac(m-1) val3=self.fac(n-1) result=val1/(val2*val3) return result
2.动态规划,每一步都是相邻最近的格子的和。
代码如下
class Solution: # @return an integer def uniquePaths(self, m, n): 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-1][col]+dp[row][col-1] return dp[m-1][n-1]
62. Unique Path Leetcode Python
原文地址:http://blog.csdn.net/hyperbolechi/article/details/43305383