You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带负值的最小路径和:动态规划(DP)是否仍适用?

最小路径和问题与动态规划公式的有效性验证

原题描述

给定一个 m x n 的网格,网格里填充了非负整数,找到一条从左上角到右下角的路径,使得路径上所有数字的和最小。
注意:你只能在任何时间点向下或者向右移动。
示例:
输入:grid = [[1,3,1],
[1,5,1],
[4,2,1]]
输出:7
解释:路径 1 → 3 → 1 → 1 → 1 的和最小。

个人尝试与疑问

我尝试在网格中设置一些负值,发现如下动态规划转移公式似乎依然有效:
dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]

请问是否存在案例可以证明,当网格中存在负值时,该动态规划方法无法正确求解最小路径和?

结论与分析

结论

不存在这样的反例,该动态规划转移公式在网格包含负值时依然能正确求解最小路径和。

原因分析

因为题目限制了只能向右或向下移动,所以对于网格中的任意位置(i,j),到达该位置的所有可能路径,只能来自两个方向:

  • 从上方位置(i-1,j)向下移动一步
  • 从左方位置(i,j-1)向右移动一步

因此,要得到(i,j)的最小路径和,必然是取这两个前驱位置的最小路径和中的较小值,再加上当前网格位置的数值grid[i][j]——不管这个数值是正还是负,这个逻辑都成立。

负值网格示例验证

比如以下包含负值的网格:

[[-1,  3,  2],
 [ 4, -5,  1],
 [ 2,  1, -3]]

按照公式计算得到的最终最小路径和为-5,手动枚举所有可能路径后可以确认,这确实是所有路径中的最小和,与公式计算结果一致。


内容的提问来源于stack exchange,提问作者noobie2023

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 02:10:52