题解 | #三角形#

三角形

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;
    }
};

全部评论

相关推荐

数开小菜鸡:你是我今早见过的最美的牛客女孩......
点赞 评论 收藏
分享
2024-12-29 19:48
河北科技大学 Java
没事就爱看简历:问题不在于简历:1、大学主修课程学那么多应用语言,作为计算机专业是很难理解的。 2、技能部分,每一个技能点的后半句话,说明对熟练,熟悉的标准有明显误会。 3、项目应该是校企合作的练习吧,这个项目你负责什么,取得了哪些成果都没有提及,只是列举了你认为有技术含量的点,而这些都有成熟的实现。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务