Triangle

原创 2016年08月29日 23:09:52

一、问题描述

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).

二、思路

采用dp动态规划算法,其中:

vector<int> vec = triangle.back();
返回二维数组的最后一行元素的引用。整个算法的递归式为:

vec[j] = triangle[i][j] + min(vec[j],vec[j+1]);

三、代码

class Solution {
public:
    int minimumTotal(vector<vector<int>>& triangle) {
        if(triangle.empty() || triangle[0].empty()) return 0;
        vector<int> vec = triangle.back();
        for(int i = triangle.size() - 2; i >= 0 ;--i){
            for(int j = 0; j < triangle[i].size();++j){
                vec[j] = triangle[i][j] + min(vec[j],vec[j+1]);
            }
        }
        return vec[0];
    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

一个开源的2D Delaunay Triangulator—Triangle

Triangle 是外国人Jonathan Richard Shewchuk开发的一个开源软件
  • guningbo
  • guningbo
  • 2014年05月22日 20:30
  • 1987

Triangle

Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent ...
  • u014734779
  • u014734779
  • 2015年09月14日 08:44
  • 125

Triangle

Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n...
  • Chole1122
  • Chole1122
  • 2014年06月19日 13:48
  • 333

Triangle

Triangle Given a triangle, find the minimum path sum from top to bottom. Each step yo...
  • luxialan
  • luxialan
  • 2015年04月14日 09:33
  • 281

Triangle

Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n...
  • budlele
  • budlele
  • 2015年02月10日 22:51
  • 358

Triangle

Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n...
  • ststns
  • ststns
  • 2015年04月27日 12:15
  • 162

动态规划入门-Triangle

动归解题的一般思路: 将原问题分解成多个子问题。子问题都解决了,原问题就解决了 用动态规划解题时,我们往往将和子问题相关的各个变量的一组取值,称之为一个“状态”。一个“状态”对应于一个或多个子问题,所...
  • qq_37811211
  • qq_37811211
  • 2017年04月20日 10:13
  • 150

关于TRIANGLE二维三角网格生成器在windows下的配置说明

最近需要用到三角网格生成的一些东西,所以就把TRIANGLE这个库编译了一下,发现编译过程还是稍微有些纠结,于是就想到写下来,希望以后有些童鞋看到少走一些弯路。      首先非常感谢eryar的帮助...
  • shlkl99
  • shlkl99
  • 2014年06月18日 21:21
  • 1937

Triangle.NET 使用教程(一)

当前在arcengine 二次开发中要用到 建立delaunay三角网的功能,在这里我用的是Triangle.Net库,网址为 https://triangle.codeplex.com/。   下载...
  • pythonStudent
  • pythonStudent
  • 2016年11月10日 17:05
  • 396

强大的约束三角剖分程序源码

  • 2014年06月13日 12:40
  • 128KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Triangle
举报原因:
原因补充:

(最多只允许输入30个字)