【动态规划-中等】剑指 Offer II 100. 三角形中最小路径之和

OJ题目9--最小路径、最小消耗的动态规划问题 一般来讲,涉及到最小路径的问题,目标都会有一个固定的行走模式,也就是说对于行走范围内的某一点而言,到达该点的各种可能性是确定了的(被确定了的行走模式所约束)。那么走到一点的最小消耗,就等于所有差一步就能到达该点的点中的最小消耗再加上该点本身的消耗。动态规划则实时的记录已经求出来的各个点的消耗的最小值,并将这些值作为后面计算的基础。 1,​​​​​​剑指 Offer II 100. 三角形中最小路径之和 - 力扣(LeetCode) (leetcode-cn.com)​​​​​ 一个三角形矩阵,每一位上的 阅读详情

【题目】
本题是一道非常经典且历史悠久的动态规划题,其作为算法题出现,最早可以追溯到 1994 年的 IOI(国际信息学奥林匹克竞赛)的 The Triangle。时光飞逝,经过 20 多年的沉淀,往日的国际竞赛题如今已经变成了动态规划的入门必做题,不断督促着我们学习和巩固算法。1

给定一个三角形 triangle ,找出自顶向下的最小路径和。
每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。

示例 1:

输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]
输出:11
解释:如下面简图所示:
2
3 4
6 5 7
4 1 8 3
自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。

示例 2:

输入:triangle = [[-10]]
输出:-10

提示:

1 <= triangle.length <= 200
triangle[0].length == 1
triangle[i].length == triangle[i - 1].length + 1
-104 <= triangle[i][j] <= 104

进阶:

你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题吗?

注意:本题与主站 120 题相同
【代码】
在这里插入图片描述

class Solution:
    def minimumTotal(self, triangle: List[List[int]]) -> int:
        for i in range(1,len(triangle)):
            for j in range(len(triangle[i])):
                if j==0:
                    triangle[i][j]+=triangle[i-1][j]
                elif j<len(triangle[i-1]):
                    triangle[i][j]+=min(triangle[i-1][j],triangle[i-1][j-1])
                else:
                    triangle[i][j]+=triangle[i-1][j-1]
        return min(triangle[-1])

【写法2:dp】
在这里插入图片描述

class Solution:
    def minimumTotal(self, triangle: List[List[int]]) -> int:
        for i in range(1,len(triangle)):
            triangle[i][0]+=triangle[i-1][0]
            for j in range(1,len(triangle[i])-1):
                triangle[i][j]+=min(triangle[i-1][j],triangle[i-1][j-1])
            triangle[i][len(triangle[i])-1]+=triangle[i-1][len(triangle[i])-2]
        return min(triangle[-1])

  1. 这段话出自:
    作者:LeetCode-Solution ↩︎

HAL库STM32CubeMX+DHT11温湿度传感器模块化驱动与OLED显示实战 本文详细介绍了基于HAL库和STM32CubeMX开发DHT11温湿度传感器模块化驱动的实战过程。通过精确的时序控制和模块化封装,实现了传感器数据采集,并结合OLED显示模块实时展示温湿度信息,为嵌入式开发者提供了完整的解决方案。 阅读详情

相关推荐

Orale EBS R12 AP应付模块 发票导入接口(Interface)

ap_interface_groups_s.nextval; ap_invoices_interface_s.nextval; ap_invoice_lines_interface_s.nextval; SELECT * FROM ap_invoices_interface ih; SELECT * FROM ap_invoice_lines_interface il; SELECT * FROM...

qq_41206741的博客 3319

120. 三角形最小路径和

给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5 7 4 1 8 3 自顶向下的最小路径和

liudy的博客 234

深入浅出一文搞懂Raft协议

前言 在分布式的世界里,要说最核心最复杂的功能,一致性的实现无出其右,之前的paxos算法堪称经典,被认为是同类算法中效果最好的,基本上成为分布式一致性的代名词,但是paxos算法也是出了名的难理解,而且相当不好实现。本人也花了很多时间、看了很多材料也没有真正理解。所以基于paxos的思想进行的一致性算法的简化和实现就成为了现实的需求,在此背景下,本文的主角Raft就出现了。 Raft算法的头号目标就是容易理解(UnderStandable),这从论文中就可以看出来。当然,R...

microGP的专栏 6486

三角形最小路径和(经典DP / dfs+记忆化)

(偷懒中……) 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 说明: 如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分 来源:力扣(Leet

wodemaoheise的博客 760

Gephi实战指南——从数据导入到可视化输出

本文详细介绍了Gephi数据可视化工具的使用方法,从数据导入到可视化输出的全流程实战指南。涵盖Gephi三大工作区功能、数据导入技巧、图形编辑进阶操作以及专业级可视化输出方案,帮助用户高效完成社交网络分析等复杂任务。

weixin_28731223的博客 481

冒险岛脚本函数大全:cm.sendYesNo和cm.warp的20个实战用法

本文深入解析了冒险岛脚本中cm.sendYesNo和cm.warp两个核心函数的20个实战应用场景。从基础的确认对话框交互、条件判断,到复杂的装备强化系统、动态传送与副本入口逻辑,文章通过大量代码示例展示了如何组合运用这两个函数,实现从简单NPC到复杂任务系统的进阶脚本开发,并分享了状态管理、错误处理与性能优化等最佳实践。

t4y5u6i7o的博客 1062

LeetCode-120 三角形最小路径和(五种解法+多图详解)

文章目录题目描述解题误区思路一:递归(超时)思路二:递归 + 记忆化思路三:自下而上DPdp数组初始化的问题空间压缩思路四:自上而下 题目描述 ????120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3

iqqcode 2356

Win11下高效管理JDK1.8与JDK17双环境的实战指南

本文提供了一份在Windows 11系统上高效管理JDK 1.8与JDK 17双环境的实战指南。文章详细讲解了如何实现双版本切换,包括如何干净安装两个JDK、通过巧妙配置环境变量实现命令行一键切换,以及在不同IDE和构建工具中为项目独立配置JDK版本,旨在帮助Java开发者彻底解决版本冲突问题,提升开发效率。

ipfs8storage的博客 546

算法题分享 | 三角形最小路径和

要计算到达某行的最小路径和,可以先算出到达前一行各个结点的最小路径和,然后基于这一结果可以算出到达本行各个结点的最小路径和,最终取其中的最小值,这也就是动态规划算法。这样我们就把为原问题拆解为了多个小规模的子问题,并且子问题间是存在重叠,需要依赖其他子问题的计算结果,这样也可以减少重复的计算。因为如果是从左到右的话,当获取当前行的 dp[j] 的时候,就会把上一行保留的 dp[j] 结果给覆盖点,这样。当 i = j,简化为:f(i,j) = f(i-1,j-1) + triangle[i][j]。

icy_lemon的博客 779

Visual Studio 2022+Qt6.5.3安装教程+环境配置+创建Qt项目+乱码插件+运行很完美(16岁孩子也能看懂)

Visual Studio 2022+Qt6.5.3安装教程+环境配置+创建Qt项目+乱码插件+运行很完美(16岁孩子也能看懂)

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 1190

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1159

剑指offer100:三角形中最小路径之和

题目: 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例一: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5 7 4 1 8 3 自顶向下的最小路径和为 11

L的博客 386

基于STM32的智能浇花系统毕业设计(全部资料)

摘要:本文设计了一种基于STM32单片机的智能浇花系统,集成了环境温湿度检测、土壤温湿度监测、LCD显示、Wi-Fi联网及手机APP远程控制等功能。系统通过传感器实时采集环境参数,自动控制水泵工作实现智能灌溉,同时支持用户通过手机APP远程监控和调节。论文详细阐述了硬件选型、软件设计及系统测试过程,验证了系统的稳定性和实用性。该设计为家庭园艺提供了智能化解决方案,具有节水高效、操作便捷等特点。关键词:STM32;智能灌溉;远程控制;环境监测;Wi-Fi通信。

3254968421的博客 1196

剑指 Offer II 100. 三角形中最小路径之和(中等 动态规划 数组)

剑指 Offer II 100. 三角形中最小路径之和 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5

weixin_43942435的博客 249

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Leetcode 剑指 Offer II 100.三角形最小路径和

题目难度: 中等今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号里回复剑指offer2就能看到该系列当前连载的所有文章了, 记得关注哦~

随便发挥的博客 658

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LeetCode 剑指 Offer II 动态规划(四) 专题总结

往期文章 : LeetCode 剑指 Offer II 回溯(上) 专题总结 LeetCode 剑指 Offer II 回溯(下) 专题总结 LeetCode 剑指 Offer II 动态规划(一) 专题总结 LeetCode 剑指 Offer II 动态规划(二) 专题总结 LeetCode 剑指 Offer II 动态规划(三) 专题总结 目录100. 三角形中最小路径之和101. 分割等和子集102. 加减的目标值 后两道都是0-1背包问题 100. 三角形中最小路径之和 题目: 给定一个三角形

一只小逸白 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【LeetCode】剑指 Offer II 100. 三角形中最小路径之和

题目链接:剑指 Offer II 100. 三角形中最小路径之和 题目描述: 思路:这题和数字三角形差不多思路,直接能想到动态规划,需要注意状态的转移和边界的初始化条件。 代码: class Solution { public int minimumTotal(List<List<Integer>> triangle) { int n=triangle.size(); int dp[][]=new int[n][n]; dp[

时光、疏离了记忆づ童话的博客 933

Leetcode-120-剑指 Offer II 100: 三角形中最小路径之和

链接 剑指 Offer II 100. 三角形中最小路径之和 题目 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:

道纪书生的博客 450

剑指 Offer II 100. 三角形中最小路径之和

剑指 Offer II 100. 三角形中最小路径之和 文章目录剑指 Offer II 100. 三角形中最小路径之和一、题目1.题目描述2.基础框架3.解题思路 一、题目 原题链接:剑指 Offer II 100. 三角形中最小路径之和 1.题目描述 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步

进击的code儿 211

【剑指 Offer II】 100. 三角形中最小路径之和

题目: 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 1: 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5 7 4 1 8 3 自顶向下的最

漆黑梦工厂 165

DP剑指 Offer II 100. 三角形中最小路径之和

代码】DP剑指OfferII100.三角形中最小路径之和。

一名在校大三学习JAVA 162

LeetCode刷题汇总

剑指offer 剑指 Offer 03 数组中重复的数字 剑指 Offer 04 二维数组中的查找 剑指 Offer 05 替换空格 剑指 Offer 06 从尾到头打印链表 剑指 Offer 07 重建二叉树 剑指 Offer 09 用两个栈实现队列 剑指 Offer 10- I 斐波那契数列 剑指 Offer 10- II 青蛙跳台阶问题 剑指 Offer 11 旋转数组的最小数字 剑指 Offer 12 矩阵中的路径 剑指 Offer 13 机器人的运动范围 剑指 Offer 14- I 剪绳子 剑指

weixin_44171872的博客 2万+

剑指offer97-100动态规划二维数组

以下图为例,每一行的两个元素生成下一个元素,而最终结果只是求最右下角的值,那么二维数组可以只用一行的一维数组表示,每次一维数组保存上一行的数据,然后逐渐修改下一行的数据。如果新添加一个元素,这个元素可以是横向添加的一个,也可以是列向添加的一个,但不管横向还是列向添加,都表示父类添加了这个元素。给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。对于当前步,有从上面来的和从左边来的,两个选最小的加上当前的花费。

baidu_41553551的博客 407

Java剑指 Offer II 100. 三角形中最小路径之和(击败52.24%用户)

题目: 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 示例 : 输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]] 输出:11 解释:如下面简图所示: 2 3 4 6 5...

goldfish_well的博客 165

ComfyUI-Manager:ComfyUI 自定义节点的安装、更新与故障排查

ComfyUI-Manager 是 ComfyUI 自定义节点的管理扩展:安装节点时代替完成 clone、依赖安装、启动注册三件事,已装节点提供统一的更新入口,出问题时有快照回滚和缺失节点检测兜底。下面按安装、日常用法、故障处理、配置四个层面过一遍,面向会用命令行但不熟悉这套工具的用户。 ## 它实际解决什么问题 ComfyUI 的每个自定义节点通常对应一个独立仓库,装一个节点要经历 git

gitblog_00071的博客 218

Leetcode刷题笔记——剑指offer II (二)【动态规划】

416. 分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。 示例 2: 输入:nums = [1,2,3,5] 输出:false 解释:数组不能分割成两个元素和相等的子集。 提示: 1 <= nums.length <= 200 1 <= nums[i] <=

weixin_46934960的博客 1945
上一篇: 【动态规划-中等】剑指 Offer II 091. 粉刷房子(256.粉刷房子)
下一篇: 【动态规划-中等】1641. 统计字典序元音字符串的数目
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值