题目:

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]
]

The minimum path sum from top to bottom is 11 (i.e., 2 + 3 + 5 + 1 = 11).

思路:

方法一:从上到下, 下一行的结果根据上一行的路径累计和而计算。 
triangle[i][j] += min(triangle[i -1 [j -1 ],triangle[i -1 ][j ] ) ,这样需要处理j=0和j=最大值。
方法二:从下往上,每一行的结果根据下面一行的路基累计和而计算。(参考大神才晓得) 
triangle[i][j] += min(triangle[i + 1][j], triangle[i + 1][j + 1])

/*** @param {number[][]} triangle* @return {number}*/
var minimumTotal = function(triangle) {for(var i=triangle.length-2;i>=0;i--){for(var j=0;j<i+1;j++){if(triangle[i+1][j]>triangle[i+1][j+1]){triangle[i][j]+=triangle[i+1][j+1]}else{triangle[i][j]+=triangle[i+1][j]}}}return triangle[0][0];
};

转载于:https://www.cnblogs.com/shytong/p/5099499.html

【数组】Triangle相关推荐

  1. java二维数组的扩容_Java开发笔记(二十一)二维数组的扩展

    前面介绍的数组容纳的是一串数字,仿佛一根线把这组数字串了起来,故而它只是一维数组.一维数组用来表示简单的数列尚可,要是表达复杂的平面坐标系,那就力不从心了.由于平面坐标系存在水平和垂直两个方向,因此可 ...

  2. 五大常用算法一(回溯,随机化,动态规划)

    五大常用算法一(回溯,随机化,动态规划) 回溯算法 回溯法: 也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并以此慢慢地扩大问题规模,迭代地逼近最终问题 ...

  3. 【算法】动态规划 ① ( 动态规划简介 | 自底向上的动态规划示例 | 自顶向下的动态规划示例 )

    文章目录 一.动态规划简介 二.自底向上的动态规划示例 1.原理分析 2.算法设计 3.代码示例 三.自顶向下的动态规划示例 1.算法设计 2.代码示例 一.动态规划简介 动态规划 , 英文名称 Dy ...

  4. 269道各路算法考试题集锦

    1 某编程大赛题(35道题,中等难度) 1.在实际的开发工作中,对于string的处理是最常见的编程任务,本题是要求程序对用户输入的string进行处理,具体要求如下: 1.每个单词的首字母变为大写. ...

  5. [LeetCode 120] - 三角形(Triangle)

    问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶部至底部的最 ...

  6. Leetcode 118:Pascal's Triangle 杨辉三角

    118:Pascal's Triangle 杨辉三角 Given a non-negative integer numRows, generate the first numRows of Pasca ...

  7. 如何在C ++中使用数组?

    C ++从C继承了数组,几乎可以在任何地方使用它们. C ++提供了更易于使用且不易出错的抽象(自C ++ 98起为std::vector<T> std::array<T, n> ...

  8. LintCode: Triangle

    C++ 逆推 1 class Solution { 2 public: 3 /** 4 * @param triangle: a list of lists of integers. 5 * @ret ...

  9. [LeetCode]--118. Pascal#39;s Triangle

    Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, Retu ...

最新文章

  1. SQLIOSim 模拟SQLServer的行为来测试IO性能
  2. Dockerfile中通过ENV指定动态参数在RUN时传递参数(部署后台jar包时指定端口为例)
  3. HikariConfig配置详解
  4. php xampp bug,PHP网站访问慢的处理方法
  5. 网络聊天室的技术与发展
  6. java四种内部类区别_浅谈Java中的四种内部类
  7. 短信轰渣器搭建源码下载
  8. import java.io 是什么意思_Java IO 详解
  9. 华为 ensp 下载安装
  10. html自动调音量,HTML5 音量调节控件
  11. 坐地铁,玩Android
  12. opencv2 加载RTSP视频流,内存溢出的问题
  13. 更简单获取到Bean对象(1)
  14. c莫比乌斯函数_数论——容斥原理、莫比乌斯函数
  15. 分享:Vue.js新手入门指南-0518-v1.0张雅慧(续)
  16. 《李笑来通往财富自由之路》的学习笔记(完)
  17. 苹果云服务器满,管理 iCloud 储存空间
  18. 电商第一站给大学几个生创业金点子
  19. 网友曝光微信密码漏洞 柳岩马化腾账号被入侵(图)
  20. 海思Hi3516AV200 Professional HD IP Camera SoC Datasheet

热门文章

  1. Pandas DataFrame loc []访问一组行和列
  2. linux导出日志命令_Linux中的导出命令
  3. VS2022找不到Microsoft.Expression.Interactions.dll
  4. Jenkins执行.bat 提示不是内部或外部命令
  5. 云原生技术的挑战是什么?
  6. Java基础篇之什么是CharArrayReader
  7. 【云周刊】 第211期:“阿里巴巴小程序繁星计划”:20亿扶持200万小程序开发者和100万商家...
  8. 《Spring_Four》第一次作业:团队亮相
  9. 【Longest Palindromic Substring】cpp
  10. CF Fox And Two Dots (DFS)