zoukankan      html  css  js  c++  java
  • LeetCode:Triangle

    标题叙述性说明:

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


    思路:经典的动态规划题目。

    自底向上遍历给定的数组,依次算出每点究竟部的最短路径,当遍历到第一层时即得到结果。


    代码:

    int minimumTotal(vector<vector<int> > &triangle)
    {
        int length = triangle.size();
        vector<int> min_total;
        for(int i = 0;i < length;i++)
            min_total.push_back(triangle[length-1][i]);
        for(int i = length-2;i >= 0;i--)
            for(int j = 0;j <= i;j++)
        {
            min_total[j] = min(min_total[j],min_total[j+1]) + triangle[i][j];
        }
        return min_total[0];
    }


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    css
    js -【 数组】判断一个变量是数组类型的几种方法
    【消灭代办】第2周
    【本周面试题】第2周
    【本周面试题】第1周
    【消灭代办】第1周
    echarts
    css
    js
    JS方法
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4842403.html
Copyright © 2011-2022 走看看