Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.

For example, given the following triangle

[
[2],
[3,4],
[6,5,7],
[4,1,8,3]
]

一开始的题目的意思理解错了 ,以为是位数相差一就是临近的意思,但实际上这里意思是图形上面的那种临近,和原来那个实际上是不一样的。用到了dfs,我一开始还想用一个min的二位vector来保存结果

但是实际上不用,直接用原来的triangle数组就可以保存结果了:

 class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
if(triangle.size() == || triangle[].size() == )
return ;
//vector<vector<int>>minRet(triangle.size(), vector<int>(triangle[0].size(), 0));
for(int i = ; i < triangle.size(); ++i){ // i从1开始
for(int j = ; j < triangle[i].size(); ++j){
if(j == ){
triangle[i][j] += triangle[i - ][];
}else if(j == triangle[i].size() - ){
triangle[i][j] += triangle[i - ][j - ];
}else{
triangle[i][j] += min(triangle[i - ][j - ], triangle[i - ][j]);
}
}
}
int horSz = triangle.size();
int sz = triangle[horSz - ].size();
int ret = triangle[horSz - ][];
for(int i = ; i < sz; ++i){
if(ret > triangle[horSz - ][i])
ret = triangle[horSz - ][i];
}
return ret;
}
};

这个题用java写还是略坑爹,各种get,add写起来感觉好麻烦,暂时就不写了。

最新文章

  1. 高级Linux SA需要会做的事情
  2. PHP的PSR系列规范都有啥内容
  3. Open source packages on Deep Reinforcement Learning
  4. jquery中奖实例代码
  5. PostgreSQL Hardware Performance Tuning
  6. wikioi 1202 求和(求n个数的和)
  7. 关于 ASP.NET vNext
  8. CentOS中JAVA_HOME的环境变量设置
  9. Linux系统学习笔记之 1 基础命令
  10. PHP的高并发和大数据处理
  11. Server in ASP.NET-Core
  12. IPFS星际文件系统
  13. ESP8266-Arduino杀手?
  14. python之各种装饰器的使用
  15. Hadoop3集群搭建之——hbase安装及简单操作
  16. 校验字符串是否是JSON格式,将不规则展示的json格式的字符串进行规则展示(json格式化)
  17. 网站如何实现 在qq中发自己链接时,便自动获取链接标题、图片和部分内容
  18. muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
  19. PMP备考指南之第二章:项目运作环境
  20. 用Metaclass实现一个精简的ORM框架

热门文章

  1. 经典书Discrete.Mathematics上的大神
  2. 020-Spring Boot 监控和度量
  3. Android测试读写sd卡文件与写sd卡文件耗时
  4. Tips for Unix/Linux
  5. Linux基础系列:常用命令(4)_系统监控
  6. JavaWeb:Tomcat服务器的安装与配置
  7. iframe 跨域请求
  8. Docker容器技术-第一个容器
  9. nodejs往文件写入内容代码
  10. Sublime 输入中文显示方框问号乱码