欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

62.不同路径

程序员文章站 2022-04-17 13:22:08
...

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

问总共有多少条不同的路径?

62.不同路径

来源:力扣(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]