首页 > 其他分享 >62 不同路径

62 不同路径

时间:2022-10-26 20:24:54浏览次数:74  
标签:机器人 int 不同 路径 range 62 dp

题目 62 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。
问总共有多少条不同的路径?

思路

  • 动规数组及其下标含义:
    dp[i][j]:第i行第j列有dp[i][j]条路径
  • 递推公式:
    得到dp[i][j]的路径有两个,一个是dp[i-1][j],一个是dp[i][j-1]
    dp[i][j] = dp[i-1][j] + dp[i][j-1]
  • 初始化:
    第一行为1,第一列为1,第一个值和其他值均可。
  • 遍历方式:
    按行从左到右遍历
  • 举例验证:
    自己画图写写即可

代码

class Solution:
    def uniquePaths(self, m: int, n: int) -> int:
        dp = [[1]*n for i in range(m)]
        for i in range(1, m):
            for j in range(1, n):
                dp[i][j] = dp[i-1][j] + dp[i][j-1]
        return dp[m-1][n-1]

标签:机器人,int,不同,路径,range,62,dp
From: https://www.cnblogs.com/edkong/p/16829869.html

相关文章