leetcode 120. 三角形最小路径和

Posted joelwang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 120. 三角形最小路径和相关的知识,希望对你有一定的参考价值。

 

技术图片

方法一:回溯法(用递归)

最基本可以将triangle数组看做一个邻接矩阵的变形,采用深度优先搜索的方法自顶向下遍历,如果triangle数组长度为n那么时间复杂度为O(2^n)(或者如果元素个数为N,那么复杂度N(log(N))

方法二:动态规划

自底向上递推:可以使用一维数组来完成,从而O(n)时间O(n)空间

技术图片

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

 

以上是关于leetcode 120. 三角形最小路径和的主要内容,如果未能解决你的问题,请参考以下文章

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

LeetCode 120. 三角形最小路径和

LeetCode 120. 三角形最小路径和 dp

LeetCode 120——三角形最小路径和

#动态规划 LeetCode 120 三角形最小路径和

leetcode 120. 三角形最小路径和