解题思路:

这是一个典型的动态规划问题,定义一个数组  dp,dp[i] (tmp[i]也是)表示到达当前行第 i 个元素的最小路径和。

所以只需要定义一个1维数组dp(n, 0),每循环遍历第 i 行,就更新 dp 的前 i + 1个数。所以循环内新增了一个 tmp 数组。

状态转移方程为:

tmp[j] = min(dp[j], dp[j-1]) + triangle[i][j];  这是第 i 行,第 j 个元素的更新方程。

注意:每一行的第一个元素和最后一个元素是不满足状态转移方程的,需要单独考虑。

class Solution {
public:int minimumTotal(vector<vector<int>>& triangle) {int n = triangle.size();if(n == 0) return 0;if(n == 1) return triangle[0][0];vector<int> dp(n, 0);dp[0] = triangle[0][0];for(int i = 1; i < n; i++){vector<int> tmp(i+1, 0);  //第 i 行 有 i+1 个元素tmp[0] = dp[0] + triangle[i][0]; //每一行的第一个元素if(i >= 2){for(int j = 1; j < i; j++){//动态规划的状态转移方程tmp[j] = min(dp[j], dp[j-1]) + triangle[i][j];}}tmp[i] = dp[i-1] + triangle[i][i]; //每一行的最后一个元素//更新dpfor(int j = 0; j <= i; j++){dp[j] = tmp[j];}}int res = INT_MAX;for(int i = 0 ; i < n; i++){if(res > dp[i]) res = dp[i];}return res;}
};

Leetcode 120. 三角形最小路径和 解题思路及C++实现相关推荐

  1. leetcode - 120. 三角形最小路径和

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

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

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

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

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

  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. 动态规划之求解三角形最小路径问题

    求解三角形最小路径问题 一.[问题描述]: 给定 高度为n的一个整数三角形,找出从顶部到底部的最小路径和,只能向先移动相邻的结点.首先输入n,接下来的1~n行,第i行输入i个整数,输出分为2行,第一行 ...

最新文章

  1. JAVE EE 企业级开发之从零开始学JAVA【51CTO技术论坛】
  2. 百度地图API使用之实现定位
  3. OpenCV异常问题(一)
  4. 全球传媒巨头纷纷布局,VR影视内容的爆点可期
  5. 5种避免C#.NET中因事件造成内存泄漏的技术
  6. java 获取oracle mysql sqlserver 链接 connection
  7. Apollo进阶课程㉛丨Apollo ROS概述
  8. mssql与oracle不同点,MySql,Mssql,Oracle的优缺点和异同(欢迎补充) *
  9. Android逆向笔记-IDA Pro动态调试Android程序(真机)
  10. easyplayerpro 使用说明_EasyPlayerPro(Windows)流媒体播放器开发之ffmpeg log输出报错
  11. vue可以直接进行运算么_Vue实现手机计算器
  12. 吴恩达机器学习总结一:初识机器学习
  13. 从ETL工具到企业云数据管理,在大数据风口的Informatica完成蜕变
  14. Larry Ellison - 简介
  15. 软件开发文档的编写---软件研制任务书 (2015-03-14 17:55:03)转载▼ 标签: 软件 文档 任务书 需求 要求 分类: 软件过程改进 一. 简介 客户要
  16. 用ajax来上传图片,使用AJAX上传图片
  17. 通达OA2017版连接sqlserver2008数据库
  18. 三角函数和角与差角公式的图形解释
  19. html网页中wmode,关于html:Quicktime-Wmode透明问题
  20. jieba关键词抽取(TF-IDF)与中文抽取式摘要

热门文章

  1. 怎么用Android做登录界面,利用Android怎么制作一个APP登录界面
  2. Ubuntu用户设置文件说明
  3. 安恒月赛 image up
  4. 操作系统中的P-V操作(转)
  5. 往数据库的表中插入新行
  6. Sublime Text3 BracketHighlighter高亮色彩配置
  7. 2017寒假第一篇随笔(寒假作业一)
  8. ThreadLocal使用和原理
  9. 2015-12-15 关于就近日期
  10. 5. SQL Server数据库性能监控 - 当前请求