题解 | #三角形#

三角形

https://www.nowcoder.com/practice/2b7995aa4f7949d99674d975489cb7da

// [20],
// [30,40],
// [60,50,70],
// [40,10,80,30]]
//状态:F(i,j)从(0,0)到(i,j)的路径和
//转移方程:
        // if(j==0):F(i,j)=F(i-1,j)+arr[i][j]
        // else if(i==j):F(i,j)=F(i-1,j-1)+arr[i][j]
        // else:F(i,j)=min(F(i-1,j),F(i-1,j-1))+arr[i][j]
//初始值:f(0,0)=arr[0][0]
//返回结果:min(F(row-1),j)
class Solution {
public:
    int minimumTotal(vector<vector<int> >& triangle) {
        if(triangle.empty())
            return 0;
        int row=triangle.size();
        for(int i=1;i<row;i++)
        {
            for(int j=0;j<=i;j++)
            {
                if(j==0)
                {
                    triangle[i][j]=triangle[i-1][j]+triangle[i][j];
                }
                else if(j==i)
                {
                    triangle[i][j]=triangle[i-1][j-1]+triangle[i][j];
                }
                else 
                {
                    triangle[i][j]=
                    min(triangle[i-1][j-1],triangle[i-1][j])+triangle[i][j];
                }
            }
        }
        int _min=triangle[row-1][0];
        for(int j=1;j<triangle[row-1].size();j++)
        {
            _min=min(_min,triangle[row-1][j]);
        }
        return _min;
    }
};

全部评论

相关推荐

头像
02-15 16:23
中南大学 Java
野猪不是猪🐗:签了美团真是不一样! 亲戚们都知道我签了美团,过年都围着我问送一单多少钱,还让弟弟妹妹们引以为戒,笑我爸我妈养了个🐢孩子,说从小就知道我这个人以后肯定没出息,我被骂的都快上天了
点赞 评论 收藏
分享
Java抽象带篮子:你这实习经历没突出亮点啊,怎么包装实习经历可以看看我的置顶帖子。冲春招可以看看我的置顶帖子[偷笑R]帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务