动态规划——基础题(力扣 62. 不同路径)

题目描述

一个机器人位于一个 m x n 网格的左上角(起始点), 机器人每一步只能向下或者向右移动一步,问到右下角总共有多少条路径?

链接:62. 不同路径 - 力扣(LeetCode) (leetcode-cn.com)

 


分析

网格中的一个点都只能从该点的左边和上边到来(除了最上面一行和最左边一列), 也就是说当前点的结果都是根据之前的结果计算的(这可以算作一个是否用动态规划解题的依据), 因此考虑用动态规划, 先分析是否满足动态规划的三条性质(我觉得初学者对其进行分析可以更快掌握动态规划)

无后效性

不妨用[i, j]表示网格中的某一个点。由题目可得, [i, j] 只能从[i-1, j], [i, j-1]两个点过来, 也就是说[i, j]处的路径数量取决于[i-1, j], [i, j-1]两个点的路径数量, 但与如何到这两个点无关, 且怎么到[i, j]并不影响下一步的计算, 故可以说是无后效性的

最优子结构

将题目看作是到右下角的“最多路径”条数, 那么其子问题就是到中间某个点

反证法: 不妨设[0, 0] -> [i, j] -> [m - 1, n - 1]为最多路径条数

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

索利亚噶通

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值