求一个矩阵从左上角到右下角的最短路径和

探讨如何在6*6的棋盘中,从左上角到右下角,每次只能向右或向下移动,求经过的格子奖品价值总和的最大值。动态规划解题思路:a[i][j] = min(a[i - 1][j], a[i][j - 1]) + grid[i][j]。给定输入矩阵,输出最优路径的奖品总和为7。" 113704103,8080853,NLP模型的注意力机制解析,"['自然语言处理', '深度学习', '机器翻译', '编码解码', '模型理解']
摘要由CSDN通过智能技术生成
该类题目还有一种问法

假设有一个6*6的棋盘,每个格子里面有一个奖品(每个奖品的价值在100到1000之间),现在要求从左上角开始到右下角结束,每次只能往右或往下走一个格子,所经过的格子里的奖品归自己所有。问最多能收集价值多少的奖品。(最多就是max,最短就是min)

新的一个点的最短路径一定等于其上方、左方最短路径+当前的值
用a[i][j]表示从(0,0)到(m,n)的所有路径中总和最小的值,动态转移方程为:
a[i][j] = min(a[i - 1][j], a[i][j - 1]) + grid[i][j]

输入
[
[1,3,1],
[1,5,1],
[4,2,1]
]
输出: 7
Explanation: Because the path 1→3→1→1→1 minimizes the sum.

def func():
    grid = list(input().strip())
    m = len(grid)  # 二维数组的行数
    n 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值