当前位置: 首页 > news >正文

LeetCode刷题记录:(15)三角形最小路径和

知识点:倒叙的动态规划
题目传送

在这里插入图片描述

解法一:二维动态规划【容易理解】
在这里插入图片描述

class Solution {public int minimumTotal(List<List<Integer>> triangle) {int n = triangle.size();if (n == 1) {return triangle.get(0).get(0);}// dp[i][j]:走到第i层第j个的最小路径和int[][] dp = new int[n + 1][n + 1];// 初始化左右两侧的值for (int i = 1; i <= n; i++) {dp[i][1] = dp[i - 1][1] + triangle.get(i - 1).get(0);dp[i][i] = dp[i - 1][i - 1] + triangle.get(i - 1).get(i - 1);}// 递推中间的值for (int i = 3; i <= n; i++) {for (int j = 2; j < i; j++) {dp[i][j] = Math.min(dp[i - 1][j - 1], dp[i - 1][j]) + triangle.get(i - 1).get(j - 1);}}// 寻找最后一行最小值int min = dp[n][1];for (int j = 2; j <= n; j++) {if (dp[n][j] < min) {min = dp[n][j];}}return min;}
}

解法二:动态规划 + 空间优化
在这里插入图片描述在这里插入图片描述

class Solution {public int minimumTotal(List<List<Integer>> triangle) {int n = triangle.size();// dp[j]:走到当前层第j个的最小路径和int[] dp = new int[n];dp[0] = triangle.get(0).get(0);for (int i = 1; i < n; i++) {// 初始化第i行最后一个位置dp[i] = dp[i - 1] + triangle.get(i).get(i);// 滚动递推第i行前面的位置, 【因为要用到上一行左边的值,所以这里要倒序】for (int j = i - 1; j > 0; j--) {dp[j] = Math.min(dp[j - 1], dp[j]) + triangle.get(i).get(j);}// 更新第i行第一个位置的路径和dp[0] += triangle.get(i).get(0);}// 寻找最后一行最小值int min = dp[0];for (int j = 1; j < n; j++) {if (dp[j] < min) {min = dp[j];}}return min;}
}

相关文章:

LeetCode刷题记录:(15)三角形最小路径和

知识点&#xff1a;倒叙的动态规划 题目传送 解法一&#xff1a;二维动态规划【容易理解】 class Solution {public int minimumTotal(List<List<Integer>> triangle) {int n triangle.size();if (n 1) {return triangle.get(0).get(0);}// dp[i][j]:走到第i层第…...

【大数据面试题】35 Spark 怎么做优化?

一步一个脚印,一天一道大数据面试题 博主希望能够得到大家的点赞收,藏支持!非常感谢~ 点赞,收藏是情分,不点是本分。祝你身体健康,事事顺心! Spark 如何做优化一直是面试过程中常问的问题。那么这次也仅以此篇文章总结梳理,希望对大家有帮助。 通用优化 Spark 一般遇…...

2024年保安员职业资格考试题库大数据揭秘,冲刺高分!

186.安全技术防范是一种由探测、&#xff08;&#xff09;、快速反应相结合的安全防范体系。 A.保安 B.出警 C.延迟 D.监控 答案&#xff1a;C 187.安全技术防范是以&#xff08;&#xff09;和预防犯罪为目的的一项社会公共安全业务。 A.预防灾害 B.预防损失 C.预防失…...

怎么搭建个人博客教程,附云主机选购指南

一、搭建个人博客教程 1. 规划博客内容与技术栈 确定博客主题&#xff1a;首先明确博客的定位和主题&#xff0c;这将影响后续的技术选择和内容规划。选择技术栈&#xff1a;根据个人偏好和技术背景&#xff0c;选择合适的建站技术。例如&#xff0c;可以使用WordPress&#…...

使用Llama3/Qwen2等开源大模型,部署团队私有化Code Copilot和使用教程

目前市面上有不少基于大模型的 Code Copilot 产品&#xff0c;部分产品对于个人开发者来说可免费使用&#xff0c;比如阿里的通义灵码、百度的文心快码等。这些免费的产品均通过 API 的方式提供服务&#xff0c;因此调用时均必须联网、同时需要把代码、提示词等内容作为 API 的…...

C语言_结构体初阶(还未写完)

结构体的声明 1. 什么是结构&#xff1f;结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量 数组&#xff1a;一组相同类型元素的集合 结构体&#xff1a;一组不一定相同类型元素的集 2. 结构的声明 struct tag //tag根据实际情况给名字…...

MyBatis-Plus:快速入门

1. 概念 MyBatis-Plus&#xff08;简称 MP&#xff09;是一个MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。其突出的特性如下&#xff1a; * **无侵入**&#xff1a;只做增强不做改变&#xff0c;引入它不会对现有…...

【高级篇】第9章 Elasticsearch 监控与故障排查

9.1 引言 在现代数据驱动的应用架构中,Elasticsearch不仅是海量数据索引和搜索的核心,其稳定性和性能直接影响到整个业务链路的健康度。因此,建立有效的监控体系和掌握故障排查技能是每一位Elasticsearch高级专家的必备能力。 9.2 监控工具:洞察与优化的利器 在Elastics…...

【前端】上传和下载zip文件,有进度条(el-progess)

文章目录 上传下载进度条 场景&#xff1a;要上传一个zip&#xff0c;调用接口&#xff0c;然后下载一个zip。调用接口的接口响应要显示在进度条中。 上传 上传用的是input原生控件&#xff0c;在页面中隐藏。accept"application/zip"限制只能上传zip。 点击button…...

2024年软件测试面试题,精选100+,附答案+文档

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 Part1 1、你的测试职业发展是什么&#xff1f; 测试经验越多&#xff0c;测试能力越高。所以我…...

在vue项目的.gitignore文件忽略不想要提交到git仓库的文件

在Vue项目中&#xff0c;使用.gitignore文件来忽略不需要提交到Git仓库的文件是一个常见的做法。.gitignore文件包含了一系列的规则&#xff0c;这些规则告诉Git哪些文件或目录应该被忽略。以下是一些Vue项目中常用的.gitignore文件示例和具体规则说明&#xff1a; 示例 .gitig…...

时序(流式)图谱数据仓库AbutionGraph功能介绍-Streaming Graph OLAM Database

AbutionGraph是一款端到端的流式数据实时分析的图谱数据库&#xff0c;实时&#xff08;流式写入实时、高QPS决策分析实时、流式预处理实时&#xff09;表现在&#xff1a; 构建实时查询QPS响应时长与历史数据量无关的图模型&#xff1b;接入流式数据并实时更新图计算指标&…...

windows实现Grafana+Loki+loki4j轻量级日志系统,告别沉重的ELK

文章目录 Loki下载Loki下载安装Loki添加Loki数据源springboot日志推送 Loki下载 下载地址&#xff1a;https://github.com/grafana/loki/releases/ 找到loki-windows-amd64.exe.zip点击开始下载&#xff0c;我这里下载的2.9.9版本 Loki下载 下载地址&#xff1a;https://gr…...

跟《经济学人》学英文:2024年06月01日这期 The side-effects of the TikTok tussle

The side-effects of the TikTok tussle tussle&#xff1a;美 [ˈtəsəl] 激烈扭打&#xff1b;争夺 注意发音 side-effects&#xff1a;副作用&#xff1b;&#xff08;side-effect的复数&#xff09; As the app’s future hangs in the balance, the ramifications of …...

Ubuntu安装PostgreSQL

Ubuntu(在线版) 更新软件源 sudo apt-get update 添加PostgreSQL官方数字签名 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo "deb http://apt.postgresql.org/pub/repos/a…...

【HarmonyOS NEXT】鸿蒙如何让List组件不满一屏时,还要能滑动和回弹

当List组件不满一屏时&#xff0c;还要能滑动和回弹,就向系统设置 - 移动网络 页面一样 List设置如下属性&#xff1a; .edgeEffect(EdgeEffect.Spring, {alwaysEnabled: true}) edgeEffect edgeEffect(value: EdgeEffect, options?: EdgeEffectOptions) 设置边缘滑动效果。…...

JDK-SPI-服务提供者接口

归档 GitHub: JDK-SPI-服务提供者接口 SPI 源码说明 java.util.ServiceLoader /*** 服务加载器&#xff1a;给定接口&#xff0c;查找实现类。实现可迭代接口 */ public final class ServiceLoader<S> implements Iterable<S> {/*** 返回 ServiceLoader 实例 *…...

【docker】容器内配置环境变量

背景&#xff1a; 我要把下面的环境变量写到bash脚本里&#xff0c;起名叫environment_start.sh。 目的&#xff1a; 用于每次进入容器dev_into.sh的时候&#xff0c;让系统获取到环境变量。 操作步骤&#xff1a; 先在容器外找个合适的位置写环境变量bash脚本&#xff0c…...

Java 乐观锁与悲观锁

1. 前言 本节内容主要是对 Java 乐观锁与悲观锁进行更加深入的讲解,本节内容更加偏重于对乐观锁的讲解,因为 synchronized 悲观锁对于大部分学习者并不陌生,本节主要内容如下: 乐观锁与悲观锁的概念,之前有所讲解,这里用很小的篇幅进行知识的回顾,巩固;乐观锁与悲观锁…...

python学习2-数据结构与算法-链表

单链表是一种链式存取的数据结构&#xff0c;用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的&#xff0c;每个结点的构成&#xff1a;元素(数据元素的映象) 指针(指示后继元素存储位置)&#xff0c;元素就是存储数据的存储单元&#xff0c;指…...

AssetRipper实战指南:Unity资源诊断与AB包健康度审计

1. 这不是“破解工具”&#xff0c;而是Unity开发者本该掌握的资源诊断能力 AssetRipper这个名字&#xff0c;第一次出现在我视野里&#xff0c;是在2022年一个Unity性能优化群里的深夜讨论。当时有位同事发来一张截图&#xff1a;某款上线半年的手游突然在iOS上出现纹理加载延…...

统计分析方法与假设检验

统计分析方法与假设检验 1. 技术分析 1.1 统计分析概述 统计分析是数据科学的基础方法&#xff1a; 统计分析类型描述统计: 数据概括推断统计: 假设检验回归分析: 变量关系时间序列: 时序数据统计方法:参数检验: t检验、方差分析非参数检验: Mann-Whitney、卡方检验相关性分…...

科研节奏管理法:4篇论文驱动的工程化落地实践

1. 项目概述&#xff1a;这不是一份文献综述&#xff0c;而是一份“科研呼吸节奏”训练手册“Month in 4 Papers (December 2024)”——这个标题乍看像一份学术月报&#xff0c;但如果你真把它当成四篇论文的摘要合集&#xff0c;就完全错过了它最核心的价值。我做了十年科研内…...

瑞数6代JSVMP对抗实战:Node.js环境补全与412绕过

1. 这不是“绕过验证码”&#xff0c;而是一场Web前端对抗的深度解剖瑞数6代&#xff0c;业内常被称作“JSVMP黑盒”的典型代表——它不靠传统混淆堆砌代码体积&#xff0c;也不依赖简单的时间戳或行为采集做判断&#xff0c;而是把整个校验逻辑编译进一套自定义的、高度定制化…...

微信小程序逆向工程深度解析:wxappUnpacker实用指南

微信小程序逆向工程深度解析&#xff1a;wxappUnpacker实用指南 【免费下载链接】wxappUnpacker forked from https://github.com/qwerty472123/wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 微信小程序逆向工程是移动应用安全研究的重…...

踩坑实录:Seatunnel同步Hive到StarRocks时,数据量翻倍和中文乱码怎么破?

Seatunnel数据同步实战&#xff1a;破解Hive到StarRocks的三大典型问题 在数据仓库迁移和ETL流程中&#xff0c;Seatunnel作为一款高效的数据同步工具&#xff0c;已经成为许多企业技术栈中的关键组件。但当我们将Hive数据同步到StarRocks时&#xff0c;往往会遇到一些令人头疼…...

游戏模组革命:BepInEx框架让每个玩家都能打造个性化游戏体验

游戏模组革命&#xff1a;BepInEx框架让每个玩家都能打造个性化游戏体验 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 想要为心爱的游戏添加新功能、修改游戏机制&#xff0c;或…...

Tina Linux嵌入式开发实战:从系统架构到应用移植全解析

1. 项目概述如果你正在接触全志科技的Tina Linux平台&#xff0c;无论是作为软件开发工程师还是技术支持&#xff0c;面对一个全新的嵌入式Linux SDK&#xff0c;最头疼的莫过于如何快速上手&#xff0c;理清从环境搭建到系统定制的整个脉络。这份指南就是为你准备的。Tina Lin…...

学习笔记·敏捷开发

“嗨,阿米戈!” “嗨,比拉博!” “今天我要给大家讲讲程序通常是怎么开发的。” “在 20 世纪,当现代 IT 还处于起步阶段时,每个人似乎都认为编程就像建筑或制造。” “事情通常是这样的:” “客户会解释他需要的程序类型——它应该做什么以及应该如何做。” “业…...

AI Agent在仓储分拣中的真实效能验证(2023-2024全国12家仓配中心压测报告首次公开)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI Agent物流行业应用 AI Agent正深度重构物流行业的决策、执行与协同范式。区别于传统规则引擎或单一预测模型&#xff0c;AI Agent具备感知环境、自主规划、多步推理与动态反馈能力&#xff0c;可嵌入…...