算法训练营day34(补), 动态规划2

//62. 不同路径

func uniquePaths(m int, n int) int {

dp := make(\[\]\[\]int, m)

// 行赋初始值为1

for i := range dp {

dpi = make(\[\]int, n)

dpi0 = 1

}

// 列赋初始值为1

for j := 0; j < n; j++ {

dp0j = 1

}

for i := 1; i < m; i++ {

for j := 1; j < n; j++ {

dpij = dpi-1j + dpij-1

}

}

return dpm-1n-1

}

//63. 不同路径 II

func uniquePathsWithObstacles(obstacleGrid \[\]\[\]int) int {

m := len(obstacleGrid)

n := len(obstacleGrid0)

//如果在起点或终点出现了障碍,直接返回0

if obstacleGridm-1n-1 == 1 || obstacleGrid00 == 1 {

return 0

}

dp := make(\[\]\[\]int, m)

for i := range dp {

dpi = make(\[\]int, n)

}

// 行赋初始值为1,有障碍物停止

for i := 0; i < m && obstacleGridi0 == 0; i++ {

dpi0 = 1

}

// 列赋初始值为1,有障碍物停止

for j := 0; j < n && obstacleGrid0j == 0; j++ {

dp0j = 1

}

for i := 1; i < m; i++ {

for j := 1; j < n; j++ {

//有障碍物跳过

if obstacleGridij != 1 {

dpij = dpi-1j + dpij-1

}

}

}

return dpm-1n-1

}

相关推荐
2601_958352901 小时前
还要写 AEC 算法?0 代码 + 6 个引脚,F-18 让通话清晰度提升 300%
人工智能·算法·降噪消回音
happyprince1 小时前
03-regmix-深刻观-哲学与升华
算法
一路向阳~负责的男人1 小时前
运动控制算法收录
算法
czt_java1 小时前
5个核心位运算公式
算法
Doubbbbbbble云2 小时前
区间合并问题的常见算法模式与优化思路4
java·数据结构·算法
David猪大卫2 小时前
【C++修炼】哈希表的实现
数据结构·c++·笔记·学习·算法·哈希算法·散列表
hahaha60163 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
不会就选b3 小时前
算法日常・每日刷题--<贪心>10
算法
南京兴帝文化传媒有限公司3 小时前
本地生活服务商户GEO优化技术实践:AI大模型收录机制与地图POI权重算法拆解
大数据·人工智能·算法·生活·geo优化实操·csdn运营技巧·ai内容收录
linx2954 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法