给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。

例如,给定三角形:

[

[2],

[3,4],

[6,5,7],

[4,1,8,3] ]

自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。

说明:

如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。

至上到下的动态规划


class Solution {
public:
int minimumTotal(vector<vector<int> >& triangle) {
int len = triangle.size();
vector<int> dp(len, 0);
dp[0] = triangle[0][0];
for(int i = 1; i < len; i++)
{
for(int j = i; j >= 0; j--)
{
if(j == i)
{
dp[j] = dp[j - 1] + triangle[i][j];
}
else if(j == 0)
{
dp[j] = dp[j] + triangle[i][j];
}
else
{
dp[j] = min(dp[j], dp[j - 1]) + triangle[i][j];
}
}
}
int MIN = dp[0];
for(int i = 1; i < len; i++)
{
MIN = min(MIN, dp[i]);
}
return MIN;
}
};

最新文章

  1. mysql 单表排序,相同值排序
  2. Linux 下如何安装软件
  3. cxf+spring+数字签名开发webservice(二)
  4. 【原】Oracle11gR2图文安装
  5. 循序渐进开发WinForm项目(3)--Winform界面层的项目设计
  6. sql server中NULL导入decimal字段时报错
  7. firebug console使用
  8. &lt;&lt; 移位运算
  9. JSP内置对象详解
  10. IT国家重点实验室
  11. HDU4612 Warm up 边双(重边)缩点+树的直径
  12. bzoj 1194
  13. Eclipse使用笔记
  14. 【ASP.NET】判断访问网站的客户端是PC还是手机
  15. MVC中使用Unity Ioc Container
  16. Mongoose与bluebird结合使用实例
  17. UVA - 11082 Matrix Decompressing(最大流+行列模型)
  18. 使用python处理地理数据:Geopandas
  19. ionic3.x开发小坑记录(一)
  20. Lodop如何设置预览后导出带背景的图,打印不带背景图

热门文章

  1. 牛客网在线判题系统JavaScript(V8)使用
  2. vue-cli新手总结
  3. 反编译之jadx工具
  4. jeecms v9库内新增对象的流程及其他技巧
  5. PKU--2184 Cow Exhibition (01背包)
  6. EF中的DbContext类
  7. HZOI2019 砍树 整除分块
  8. spark dataframe 将null 改为 nan
  9. idea报错:Error:java不支持发行版本5的解决方法
  10. hdu3853之概率dp入门