面试150 不同路径Ⅱ

思路

本题采用动态规划的方法来求解,其中 dp[i][j] 表示从起点到达位置 (i, j) 的路径总数。关键在于初始化:如果起点所在位置的元素不是障碍(即不为 1),则初始路径数设为 1。接着分别初始化第一行和第一列,如果当前位置不是障碍,且前一个位置可达,则路径数为 1,否则为 0。在填充整个 dp 数组的过程中,只要当前位置不是障碍,通过状态转移公式 dp[i][j] = dp[i-1][j] + dp[i][j-1] 更新路径总数。最终返回 dp[m-1][n-1],即到达终点的路径数。

相关推荐
We་ct1 小时前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript
想进个大厂3 小时前
代码随想录day32 动态规划01
算法·动态规划
weisian1516 小时前
进阶篇-7-数学篇-6--向量、矩阵、张量在 AI 中的运算与应用:解锁智能的“计算语法”
人工智能·线性代数·矩阵·向量·ai运算
独自破碎E7 小时前
【前缀和】LCR_013_二维区域和检索-矩阵不可变
线性代数·矩阵
香芋Yu7 小时前
【机器学习教程】第03章:SVD与矩阵分解
笔记·机器学习·矩阵
Ronaldinho Gaúch7 小时前
leetcode279完全平方数
c++·算法·动态规划
代码无bug抓狂人8 小时前
动态规划习题篇(不同路径和整数拆分)
算法·动态规划
代码无bug抓狂人21 小时前
动态规划(附带入门例题)
c语言·算法·动态规划
矢志航天的阿洪1 天前
IGRF-13 数学细节与公式说明
线性代数·机器学习·矩阵
Snow_day.1 天前
有关线段树应用(1)
数据结构·算法·贪心算法·动态规划·图论