美文网首页
120. Triangle

120. Triangle

作者: 丁不想被任何狗咬 | 来源:发表于2016-05-30 22:54 被阅读7次

https://leetcode.com/problems/triangle/
从上到下:

class Solution {
public:
    int minimumTotal(vector<vector<int>>& triangle) {
        int n = triangle.size();
        if(n == 0) return 0;
        vector<vector<int> > dp(n,vector<int>(n,0));
        dp[0][0] = triangle[0][0];
        for(int i = 1; i < n; i++) {
            for(int j = 0; j <= i; j++) {
                int l = j - 1 >= 0 ? dp[i-1][j-1] : INT_MAX;
                int r = j <= i - 1 ? dp[i-1][j] : INT_MAX;
                dp[i][j] = min(l,r) + triangle[i][j];
            }
        }
        int res = INT_MAX;
        for(int i = 0; i < n; i++)
            res = min(res, dp[n-1][i]);
        return res;
    }
};

从下到上:

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

相关文章

  • Leetcode-120Triangle

    120. Triangle Given a triangle, find the minimum path sum...

  • LeetCode 120. Triangle

    10-16 LeetCode 120. Triangle Triangle Description Given a...

  • Triangle

    //120. TriangleGiven a triangle, find the minimum path su...

  • 120. Triangle

    top to down的方案状态转移: f(x,y) = min(f(x-1, y-1), f(x-1, y)) ...

  • 120. Triangle

    Given a triangle, find the minimum path sum from top to b...

  • 120. Triangle

    https://leetcode.com/problems/triangle/description/解题思路:d...

  • 120. Triangle

    题目 思路 动态规划的题目。 递归 二维数组保存dp[i][j]:到(i,j)位置时的最小值 自底向上一维数组 ...

  • 120. Triangle

    题目 Given a triangle, find the minimum path sum from top t...

  • 120. Triangle

    从底部往上算,递归公式: dp(i,j) 表示从tri[i][j]到底部位置的最小的sum。 dp(i,j) = ...

  • 120. Triangle

    Given a triangle, find the minimum path sum from top to b...

网友评论

      本文标题:120. Triangle

      本文链接:https://www.haomeiwen.com/subject/eadcdttx.html