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?
这道题是典型的动态规划问题,重要的是要找到动态规划表和相应的递推公式即可。本题是建立二维数组来建立动态规划表。初始行和列都赋值为1.
下面是一个小米的面试题,逻辑都是一样的,只需调整一下位置即可啊。
class Solution(object):
def uniquePaths(self, m, n):
"""
:type m: int
:type n: int
:rtype: int
"""
res=[[1 for i in range(n)] for i in range(m)] #m与n的位置别弄反了,m是行,n是列,第一行,第一列初始值都赋值为1
for i in range(1,m):
for j in range(1,n):
res[i][j]=res[i-1][j]+res[i][j-1]
return res[m-1][n-1]