当前位置:网站首页>【动态规划】三角形最小路径和
【动态规划】三角形最小路径和
2022-04-23 06:11:00 【小风_】
链接 https://leetcode-cn.com/problems/triangle/
给定一个三角形 triangle ,找出自顶向下的最小路径和。
每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。
定义: d p [ i ] [ j ] dp[i][j] dp[i][j]表示从索引号 ( 0 , 0 ) (0,0) (0,0)到索引号 ( i , j ) (i,j) (i,j)的最小路径和
边界: d p [ 0 ] [ 0 ] = t r i a n g l e [ 0 ] [ 0 ] dp[0][0]=triangle[0][0] dp[0][0]=triangle[0][0]
状态转移方程: d p [ i ] [ j ] = { m i n ( d p [ i − 1 ] [ j ] , d p [ i − 1 ] [ j − 1 ] ) , j ≠ 0 o r i d p [ i − 1 ] [ 0 ] + t r i a n g l e [ i ] [ j ] , j = 0 d p [ i − 1 ] [ i − 1 ] + t r i a n g l e [ i ] [ j ] , j = i dp[i][j]= \begin{cases} min(dp[i-1][j],dp[i-1][j-1]), &j≠0~or~i \\ dp[i-1][0]~~~~~~~~+~~~triangle[i][j], &j=0 \\ dp[i-1][i-1]~~+~~~triangle[i][j], &j=i \end{cases} dp[i][j]=⎩⎪⎨⎪⎧min(dp[i−1][j],dp[i−1][j−1]),dp[i−1][0] + triangle[i][j],dp[i−1][i−1] + triangle[i][j],j=0 or ij=0j=i
说明:当前的最小值,等于上一行左右两列的最小加上当前值
class Solution:
def minimumTotal(self, triangle: List[List[int]]) -> int:
'''动态规划'''
''' 自顶向下: dp[i][j] = min(dp[i-1][j],dp[i-1][j-1]) + triangle[i][j] j != 0 or i dp[i][j] = dp[i-1][0] + triangle[i][j] j == 0 dp[i][j] = dp[i-1][i-1] + triangle[i][j] j == i '''
lens = len(triangle)
dp = [[0]*lens for _ in range(lens)]
dp[0][0] = triangle[0][0]
'''自顶向下'''
for i in range(1,lens): #假设有5层,那么i是1到4
for j in range(i+1): #j是0到i
if j == 0:
dp[i][j] = dp[i-1][0] + triangle[i][j]
elif j == i:
dp[i][j] = dp[i-1][i-1] + triangle[i][j]
else:
dp[i][j] = min(dp[i-1][j-1],dp[i-1][j]) + triangle[i][j]
ans = dp[lens-1][0]
for num in dp[lens-1]:
ans = min(ans,num)
return ans
版权声明
本文为[小风_]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_33952811/article/details/119000035
边栏推荐
- JNI中使用open打开文件是返回-1问题
- Cause: dx.jar is missing
- [SM8150][Pixel4]LCD驱动
- 读书小记——Activity
- MySQL notes 5_ Operation data
- 一款png生成webp,gif, apng,同时支持webp,gif, apng转化的工具iSparta
- face_recognition人脸检测
- Itop4412 cannot display boot animation (4.0.3_r1)
- 三种实现ImageView以自身中心为原点旋转的方法
- [2021 book recommendation] red hat rhcsa 8 cert Guide: ex200
猜你喜欢
【2021年新书推荐】Learn WinUI 3.0
winform滚动条美化
[recommendation for new books in 2021] professional azure SQL managed database administration
统一任务分发调度执行框架
iTOP4412 LCD背光驱动(PWM)
Explore how @ modelandview can forward data and pages through the source code
useReducer基本用法
【2021年新书推荐】Effortless App Development with Oracle Visual Builder
ThreadLocal, just look at me!
Fill the network gap
随机推荐
Itop4412 surfaceflinger (4.4.4_r1)
iTOP4412 SurfaceFlinger(4.4.4_r1)
读书小记——Activity
Data class of kotlin journey
SSL/TLS应用示例
Fill the network gap
What did you do during the internship
GEE配置本地开发环境
记录webView显示空白的又一坑
三种实现ImageView以自身中心为原点旋转的方法
【2021年新书推荐】Red Hat Certified Engineer (RHCE) Study Guide
Ffmpeg common commands
利用栈实现队列的出队入队
WebRTC ICE candidate里面的raddr和rport表示什么?
face_recognition人脸检测
MySQL notes 3_ Restraint_ Primary key constraint
扫雷小游戏
webView因证书问题显示一片空白
MySQL notes 2_ data sheet
树莓派:双色LED灯实验