Unique Paths

来源:互联网 发布:淘宝客qq群免费机器人 编辑:程序博客网 时间:2024/09/21 06:21

leetcode第62题,给定一个m*n的地图,要求从左上角到右下角,找出路径的条数。

这一题也可以用DP来做,首先分析,在地图上的每一个格子都代表一个位置,从最左上角开始,只有两种选择,一个是下移,一个是右移。移到新的位置后,还是有两个选择,同上。我们可以把每次移动都记为路径数,如果一个位置出现了从两条路径进来的情况,说明前面有两种可能会走到这里,就把前面两个位置的路径数加起来,以此类推,到最后一个格子,就是最后的路径数目。

class Solution(object):    def uniquePaths(self, m, n):        """        :type m: int        :type n: int        :rtype: int        """        if m == 0 or n == 0:            return 0        d = [[0 for i in range(n)] for i in range(m)]        d[0][0] = 1        for i in range(1, m):            d[i][0] = 1        for i in range(1, n):            d[0][i] = 1        for i in range(1, m):            for j in range(1, n):                d[i][j] = d[i-1][j]+d[i][j-1]        return d[-1][-1]
0 0
原创粉丝点击