算法训练营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

}

相关推荐
动词ing22 分钟前
【题目练习】算法 组合总和||
算法
longlongzihan27 分钟前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
专业程序开发源39 分钟前
flask家电故障预测系统92491-计算机课程设计/毕业设计
vscode·python·sql·算法·flask·课程设计
Logic1011 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
yi0111 小时前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
极光通讯2 小时前
服务器内存来料检验(IQC)实操:批次追溯、外观判定与上机验证
java·服务器·算法
淡海水2 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
ClickHouseDB2 小时前
ClickHouse 大规模 OpenTelemetry 数据接入架构的可靠性演进
算法
Shaoshing2 小时前
BHU 润石工作室 251019自建赛题解
算法
玩AI的奶茶2 小时前
24GB 显存能跑多大的模型?参数量、精度与显存占用对照表
人工智能·python·算法·ai·aigc·gpu算力·算力租赁