leetcode - 120. 三角形最小路径和
120. 三角形最小路径和
——————————————————————————————————————————
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。
例如,给定三角形:
自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/triangle
——————————————————————————————————————————
1、动态规划
题目要找自顶向下的最短路径和,则可以逆向思考。自下向顶返回寻找最短路径和。比如题目给的例子中,对于第三行的6,考虑第四行的4和1,选择较小的1,把6变为7,则是第三行的6到最下层的最短路径和,同理,对于第三行的5,最小路径和为6,7的最小路径和为10。得到第三行到最下层的最短路径和,接着考虑第二层到最下层的最短路径和,因为第三层的路径变为第三层到最下层的最短路径和,则可以得到第二层到最下层的最短路径和,同理,不断迭代,就可以得到自顶向下的最短路径和。具体的C++代码如下:
class Solution {
public:int minimumTotal(vector<vector<int>>& triangle) {int hang = triangle.size(); #计算数组的行数for(int i=hang-2;i>=0;i--) #逆向计算,从最底层开始返回统计{int lie=triangle[i].size(); #对于每一层,计算每一层的数据的个数for(int j=0;j<lie;j++){triangle[i][j] = triangle[i][j] + min(triangle[i+1][j],triangle[i+1][j+1]); #计算每一层到其下面层的最短路径和}}return triangle[0][0]; #返回最上端的值}
};
leetcode - 120. 三角形最小路径和相关推荐
- Leetcode 120. 三角形最小路径和 (每日一题 20210927)
给定一个三角形 triangle ,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点 ...
- LeetCode 120. 三角形最小路径和(动态规划)
题目描述 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径 ...
- Leetcode 120. 三角形最小路径和 解题思路及C++实现
解题思路: 这是一个典型的动态规划问题,定义一个数组 dp,dp[i] (tmp[i]也是)表示到达当前行第 i 个元素的最小路径和. 所以只需要定义一个1维数组dp(n, 0),每循环遍历第 i ...
- LeetCode 120. 三角形最小路径和
思路: 从下(倒数第二行)往上开始计算,找到最先和之后,每一行的值重新赋值,直到最顶层就是最小值了. public int minimumTotal(List<List<Integer&g ...
- leetcode--笔记——120. 三角形最小路径和
120. 三角形最小路径和 给定一个三角形 triangle ,找出自顶向下的最小路径和. 每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一 ...
- 120. 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点. 例如,给定三角 ...
- 【Java语言】力扣系列----120. 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点. 例如,给定三角 ...
- 算法:三角形最小路径和
题目 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [[2],[3,4],[6,5,7],[4,1,8,3] ] 1 2 3 4 5 6 自顶向 ...
- leetcode 思路——64. 最小路径和——174. 地下城游戏
leetcode 思路--64. 最小路径和--174. 地下城游戏 64. 最小路径和 174. 地下城游戏 64. 最小路径和 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角 ...
最新文章
- SpringBoot-web开发(三): 模板引擎Thymeleaf
- linux 普通用户 mysql_Linux普通用户部署mysql
- 一个公众号可以绑定几个小程序_如何实现微信小程序和公众号的绑定
- 推荐算法 之协同过滤
- 操作系统:Win10系统下LocalNow和Roaming文件夹介绍
- WORD列表缩进的文本起始点
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 25丨求团队人数【难度中等】​
- html时间自动,编辑自动结束时间.html
- 小米电视面板采购“砍单”
- Error creating bean with name ‘fastJsonpResponseBodyAdvice‘ defined in URL xxx
- android11电视,谷歌发布首款Android TV版 基于Android 11开发者预览版
- jre7或jre8或其他版本共存问题
- 思科路由器基本配置命令
- ubuntu 18.04安装微信
- php内置函数分析之ucfirst()、lcfirst()
- HTML+CSS十分钟实现响应式布局页面,响应式布局实战教程
- 年、月、日格式正则表达式
- 在Mac下如何创建文件
- YOLOv5训练KAIST数据集
- Sexagenary Cycle(天干地支法表示农历年份)