leetcode120 三角形最小路径和

leetcode120 Triangle

Posted by BY on January 10, 2019

前言

水爆了

正文

问题来源

本问题来自leetcode上的120题。

问题描述

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

示例 1
输入: [
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
]
输出: 11
解释: 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)

分析:

func min(a, b int) int {
    if a < b {
        return a
    }
    return b
}

func minimumTotal(triangle [][]int) int {
    l := len(triangle)
    for i := l-2; i>=0; i-- {
        for j := 0; j <= i; j++ {
            triangle[i][j] += min(triangle[i+1][j],triangle[i+1][j+1])
        }
    }
    return triangle[0][0]
}

总结:

结语

不要懒,多看多写。