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