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. 三角形最小路径和相关推荐

  1. Leetcode 120. 三角形最小路径和 (每日一题 20210927)

    给定一个三角形 triangle ,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点 ...

  2. LeetCode 120. 三角形最小路径和(动态规划)

    题目描述 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径 ...

  3. Leetcode 120. 三角形最小路径和 解题思路及C++实现

    解题思路: 这是一个典型的动态规划问题,定义一个数组  dp,dp[i] (tmp[i]也是)表示到达当前行第 i 个元素的最小路径和. 所以只需要定义一个1维数组dp(n, 0),每循环遍历第 i ...

  4. LeetCode 120. 三角形最小路径和

    思路: 从下(倒数第二行)往上开始计算,找到最先和之后,每一行的值重新赋值,直到最顶层就是最小值了. public int minimumTotal(List<List<Integer&g ...

  5. leetcode--笔记——120. 三角形最小路径和

    120. 三角形最小路径和 给定一个三角形 triangle ,找出自顶向下的最小路径和. 每一步只能移动到下一行中相邻的结点上.相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一 ...

  6. 120. 三角形最小路径和

    给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点. 例如,给定三角 ...

  7. 【Java语言】力扣系列----120. 三角形最小路径和

    给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点. 例如,给定三角 ...

  8. 算法:三角形最小路径和

    题目 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [[2],[3,4],[6,5,7],[4,1,8,3] ] 1 2 3 4 5 6 自顶向 ...

  9. leetcode 思路——64. 最小路径和——174. 地下城游戏

    leetcode 思路--64. 最小路径和--174. 地下城游戏 64. 最小路径和 174. 地下城游戏 64. 最小路径和 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角 ...

最新文章

  1. SpringBoot-web开发(三): 模板引擎Thymeleaf
  2. linux 普通用户 mysql_Linux普通用户部署mysql
  3. 一个公众号可以绑定几个小程序_如何实现微信小程序和公众号的绑定
  4. 推荐算法 之协同过滤
  5. 操作系统:Win10系统下LocalNow和Roaming文件夹介绍
  6. WORD列表缩进的文本起始点
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 25丨求团队人数【难度中等】​
  8. html时间自动,编辑自动结束时间.html
  9. 小米电视面板采购“砍单”
  10. Error creating bean with name ‘fastJsonpResponseBodyAdvice‘ defined in URL xxx
  11. android11电视,谷歌发布首款Android TV版 基于Android 11开发者预览版
  12. jre7或jre8或其他版本共存问题
  13. 思科路由器基本配置命令
  14. ubuntu 18.04安装微信
  15. php内置函数分析之ucfirst()、lcfirst()
  16. HTML+CSS十分钟实现响应式布局页面,响应式布局实战教程
  17. 年、月、日格式正则表达式
  18. 在Mac下如何创建文件
  19. YOLOv5训练KAIST数据集
  20. Sexagenary Cycle(天干地支法表示农历年份)

热门文章

  1. 安装Vistual Studio 2005的小问题
  2. TypeScript入门教程 之 Promise
  3. Docker 使用 docker push 命令 推送本地镜像到远程DockerHub仓库服务器
  4. CentOS切换运行级别 图形模式/命令行模式
  5. docker随着主机启动 自动启动设置
  6. React v16版本 源码解读
  7. 使用Java Swing实现简单计算器
  8. vscode创建代码截图_如何在VSCode中创建代码配置文件
  9. 拼图登陆拼图二维码验证_如何使用拼图快速轻松地构建静态网站
  10. 自助银行服务系统项目开发_自助服务时代即将结束