首页 > 其他分享 >leetcode120. 三角形最小路径和

leetcode120. 三角形最小路径和

时间:2024-03-07 17:44:04浏览次数:28  
标签:vector triangle int 路径 leetcode120 三角形 dp size

leetcode120. 三角形最小路径和

这道题的关键在于想到

dp[i][j] = min(dp[i-1][j-1] , dp[i-1][j]) + triangle[i][j];

太久没做过算法题了,连设一个dp数组都没意识到

我的代码

class Solution {
public:
    int minimumTotal(vector<vector<int>>& triangle) {
        int size = triangle.size();
        if(size==1) return triangle[0][0];
        vector<vector <int> > dp(size,vector<int>(size)); 

        dp[0][0] = triangle[0][0];     
        for(int i = 1;i < size;i++)
        {
            for(int j = 0;j <= i ;j++)
            {
                if(j == 0) dp[i][j] = dp[i-1][j] + triangle[i][j];
                else if(j == i) dp[i][j] = dp[i-1][j-1] + triangle[i][j];
                else dp[i][j] = min(dp[i-1][j-1] , dp[i-1][j]) + triangle[i][j];
            }
        }
        int res = dp[size-1][0];
        for(int i = 1;i <= size-1 ; i++)  res = min(res,dp[size-1][i]);
        return res;
    }
};

 

标签:vector,triangle,int,路径,leetcode120,三角形,dp,size
From: https://www.cnblogs.com/uacs2024/p/18059428

相关文章

  • 代码随想录算法训练营第三十九天|● 62.不同路径 ● 63. 不同路径 II
    不同路径 题目链接:62.不同路径-力扣(LeetCode)思路:由于不能回退,因此每一格只能来自上一格或左边一格,因此dp数组中每个格子只要将这两个格子的值相加即可。classSolution{public:intuniquePaths(intm,intn){vector<vector<int>>dp(m,vector<int>(n));......
  • 代码随想录算法训练营第三十七天 | 62.不同路径 ,63. 不同路径 II
    63.不同路径II 已解答中等 相关标签相关企业 提示 一个机器人位于一个 mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑......
  • 杭州银行新核心:架构转型新路径、自主安全新答卷
    ​近几年,以云计算平台、分布式数据库、操作系统、中间件等为代表的国产化技术软件逐渐被广泛应用在从外围改造到核心系统的转型升级中,随着银行核心IT从业者和各类厂商的不断实践和经验积累,国产化的云原生、分布式核心业务系统已经成为未来主要发展趋势。 过去的信息科技体系以......
  • 最短路径算法
    最短路径我们把边具有权重的图称为带权图,权重可以理解为两点间的距离。一个图中任意两点会有多条路径联通,最短路径就是这些路径中最短的一条。负环:环中所有边权之重和小于0的环Floyed算法算法思想如何让两个点(假设a到b)的距离变短,只能引入第三个点k,通过k进行中转即a->k->b,当......
  • 二叉树中的最大路径和
    124.二叉树中的最大路径和二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root......
  • 最短路径问题的Dijastra算法
    求节点间最短路径的Dijastra算法思路概述给定一个权值非负的有向连通图,求某个特定原点(假定节点编号为0)到终点的最短路径权值之和。Dijastra算法采用贪心思想,每次选取最短距离可到达的点确定对应路径权值之和,并用以更新其它邻接点的可到达最短距离直至确定终点或者所有节......
  • 本地快速搭建airflow docker镜像,映射本地路径
    airflow官方文档拉取镜像dockerpullapache/airflow:2.8.2拉取配置文件curl-LfO'https://airflow.apache.org/docs/apache-airflow/2.8.2/docker-compose.yaml'修改刚刚拉取的yaml文件关闭示例dagAIRFLOW__CORE__LOAD_EXAMPLES:'false'映射本地路径volumes:......
  • Python涉及路径相关的知识点
    脚本中的路径信息print('__file__:',__file__)#脚本的位置print('os.path.abspath(__file__)::',__file__)#脚本的绝对路径(和上面的一般情况下是一样的)print('os.path.abspath(__file__):',os.path.abspath(__file__))SCRIPT_DIR=os.path.dirname(os.path.abspat......
  • 戴尔MD3200 存储SAS SAN多路径 VS openEuler 22.03 LTS SP2
    确保系统已经安装好多路径软件;以及设定为开机自启动。编辑简版配置文件;/etc/multipath.confdefaults{user_friendly_namesyesfind_multipathsyes}blacklist{#屏蔽本地除了系统之外的硬盘wwid36b82a720cf15c5001b31a48d05dac974}multipaths{multipath{wwi......
  • 112. 路径总和c
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/booljudge(structTreeNode*root,intnow,intsum){now+=root->val;if(!root->left&&......