62.不同路径
程序员文章站
2022-04-17 13:22:08
...
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。
问总共有多少条不同的路径?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/unique-paths
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路:
机器人一共要走m+n-2步,每次选择一列往下走。有点像排列组合里的总共有m+n-2步,从中选择m-1步向下走。
代码:
class Solution(object):
def uniquePaths(self, m, n):
"""
:type m: int
:type n: int
:rtype: int
"""
res=[[0]*m]*n#格子是n行m列
for i in range(0,n):
for j in range(0,m):
if i==0 or j==0:
res[i][j]=1
else:
res[i][j]=res[i-1][j]+res[i][j-1]
return res[n-1][m-1]