c++ - 3参数最小比较问题c ++
问题描述
我试图找到一个数组的最小成本路径。该代码在限制为向下或向右移动时有效,但不能沿对角线移动。
问题:
return min(findMinCost( cost, m - 1, n),
findMinCost(cost, m, n - 1),
findMinCost(cost, m - 1, n - 1)) + cost[m - 1][n - 1];
我为对角线运动添加了第三个参数,但似乎我无法使用 min 比较 3 个参数。进行这种比较的最简单方法是什么?谢谢!
解决方案
在 c++min
中可以接受 2 个参数。你应该像这样计算最小值,
return min(
min(findMinCost( cost, m - 1, n),
findMinCost(cost, m, n - 1)),
findMinCost(cost, m - 1, n - 1)) + cost[m - 1][n - 1];
这样,您首先会找到 和 之间的findMinCost( cost, m - 1, n)
最小值findMinCost(cost, m, n - 1)
。然后找到第一个最小值和 的最小值findMinCost(cost, m - 1, n - 1)
。就像如果你想找到最小值a,b,c
,
int x = min(a, b);
int min = min(x, c);
推荐阅读
- angular - websocket 传输在带有 NestJS(仅长轮询)的谷歌云应用程序引擎标准上不起作用,在 flex 环境中工作
- julia - 在 Julia 中可视化一维随机游走
- node.js - 我在 ytdl-core 包上收到 404 错误
- math - 如何使用 XYZ 角度创建 3D 矢量
- mysql - 在 JPA 标准查询中对 LocalDate 使用 TIMESTAMPDIFF 函数
- html - 在 onclick 按钮后,列宽更改/缩小以容纳另一列 - 反应
- python - 在 Visual Studio Code 中使用 rasterio (python) -“文件系统中不存在,并且不被识别为支持的数据集名称。”
- python - 根据多个值过滤 2D numpy 行
- npm - 有人可以帮我解决这个问题吗?致命错误:无法找到本地咕噜声
- php - php在尝试调用方法后输出代码