码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode120 - Triangle

时间:2017-09-28 15:33:37      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:images   tor   amp   alt   row   leetcode   sum   技术   限制   

题目描述:

技术分享

思路1:

利用动态规划。由于空间复杂度的限制,直接在triangle数组上进行修改,即把triangle数组当作dp数组。当j == 0时(即每一行的第一个元素),triangle[i][j] += triangle[i - 1][j];当j == col - 1时(即每一行的最后一个元素),triangle[i][j] += triangle[i - 1][j - 1];其余情况,triangle[i][j] += min(triangle[i - 1][j - 1], triangle[i - 1][j])。

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

        }
    int minSum = INT_MAX;
    for (int k = 0;k < triangle[row - 1].size();k++)//在最后一行中找出最小的那个就是最小的和路径
        if (triangle[row - 1][k] < minSum)
            minSum = triangle[row - 1][k];
    return minSum;

}
};

 

LeetCode120 - Triangle

标签:images   tor   amp   alt   row   leetcode   sum   技术   限制   

原文地址:http://www.cnblogs.com/vincent93/p/7606879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!