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

蓝桥杯 Java B 组之简单动态规划(爬楼梯、斐波那契数列)

Day 6:简单动态规划(爬楼梯、斐波那契数列)

动态规划(Dynamic Programming,简称 DP)是计算机科学中的一种算法设计思想,用来解决最优解问题,它的核心思想是将大问题分解为小问题,并通过保存计算结果避免重复计算。常见的应用场景包括:最短路径、最优子结构、背包问题等。

今天,我们将详细学习两个经典的动态规划问题:

  • 爬楼梯问题
  • 斐波那契数列

 一、动态规划概念

动态规划适用于能够分解为子问题的问题,并且子问题的解可以保存并复用。动态规划通过状态转移方程来计算最优解。

通俗理解:动态规划就像“做笔记”——把重复计算的结果记录下来,避免重复劳动。

核心思想:将大问题拆解为小问题,通过解决小问题逐步解决大问题,并保存中间结果(称为“状态”)。

1. 状态转移方程
  • 状态转移方程是用来描述从一个状态另一个状态的关系。
  • 通过状态转移方程,可以一步步得到最终的最优解。


 二、爬楼梯问题

问题描述:

假设你正在爬楼梯,楼梯有 n 阶,每次可以爬 1 阶或 2 阶。你有多少种方法可以爬到楼顶?

思路分析:
  • 对于楼梯的第 n 阶,你可以从第 n-1 阶跳一步,或者从第 n-2 阶跳两步。
  • 所以,到达第 n 阶的方法数等于到达第 n-1 阶和第 n-2 阶的方法数之和。
状态转移方程:

f(n)=f(n−1)+f(n−2)f(n) = f(n-1) + f(n-2)

  • f(n) 表示到达第 n 阶的总方法数。
  • 初始条件:
    • f(0) = 1(没有阶梯时有一种“爬”的方法,就是不动)
    • f(1) = 1(只有一阶时,只有一种爬法)
代码实现:
public class ClimbingStairs {public static int climbStairs(int n) {if (n == 0) return 0;  // 没有楼梯的情况if (n == 1) return 1;  // 只有一阶的情况int first = 1;  // f(1) = 1int second = 2; // f(2) = 2int result = 0;for (int i = 3; i <= n; i++) {result = first + second;  // f(n) = f(n-1) + f(n-2)first = second;           // 更新 f(n-1)second = result;          // 更新 f(n-2)}return result;}public static void main(String[] args) {int n = 5;  // 假设楼梯有 5 阶System.out.println(climbStairs(n));  // 输出结果}}
  • 解释
    • 初始化 first = 1 和 second = 2,分别表示到达第 1 阶和第 2 阶的方法数。
    • 通过循环从第 3 阶开始,根据状态转移方程 f(n) = f(n-1) + f(n-2) 计算到达每一阶的方法数,最终返回到达第 n 阶的总方法数。
时间复杂度: O(n)
空间复杂度: O(1)

这个解法通过空间优化,只用常数空间来存储前两个状态,因此是最优解。


 三、斐波那契数列(Fibonacci Sequence)

问题描述:

斐波那契数列是一个经典的数列,定义如下:

f(0)=0f(1)=1f(n)=f(n−1)+f(n−2),n>=2f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2), n >= 2

即数列的前两个数字是 0 和 1,从第三项开始,每一项是前两项之和。计算第 n 项。

思路分析:
  • 斐波那契数列和爬楼梯问题是同一种类型的问题。
  • 第 n 项的数值是前两项之和,符合动态规划的最优子结构
状态转移方程:

f(n)=f(n−1)+f(n−2)f(n) = f(n-1) + f(n-2)

代码实现(递归):
public class Fibonacci {// 递归实现public static int fib(int n) {if (n == 0) return 0;if (n == 1) return 1;return fib(n - 1) + fib(n - 2);  // 递归调用}public static void main(String[] args) {int n = 6;  // 求斐波那契数列的第 6 项System.out.println(fib(n));  // 输出结果}}
  • 解释: 
    • 基本的递归实现,计算第 n 项的数值。
    • 递归的时间复杂度是 O(2^n),因为每个递归会产生两个子问题,计算速度较慢。
改进:动态规划实现(记忆化递归)
public class FibonacciDP {public static int fib(int n) {int[] dp = new int[n + 1];dp[0] = 0;  // f(0) = 0dp[1] = 1;  // f(1) = 1for (int i = 2; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];  // 状态转移方程}return dp[n];}public static void main(String[] args) {int n = 6;  // 求斐波那契数列的第 6 项System.out.println(fib(n));  // 输出结果}}
  • 解释: 
    • 使用 动态规划 数组 dp 来存储中间结果,避免重复计算。
    • 时间复杂度是 O(n),空间复杂度是 O(n)。
    • 为什么使用n + 1:
    • 索引从0开始:在Java中,数组的索引是从0开始的。因此,如果我们想要存储从第1项到第n项的解,我们需要一个长度为n + 1的数组,这样索引范围就是从0到n。
    • 方便访问:使用n + 1的数组,我们可以直接使用dp[i]来访问第i项的解,而不需要进行额外的索引转换。
优化:空间复杂度 O(1)
public class FibonacciOptimized {public static int fib(int n) {if (n == 0) return 0;if (n == 1) return 1;int first = 0, second = 1;  // f(0) = 0, f(1) = 1int result = 0;for (int i = 2; i <= n; i++) {result = first + second;first = second;second = result;}return result;}public static void main(String[] args) {int n = 6;  // 求斐波那契数列的第 6 项System.out.println(fib(n));  // 输出结果}}
  • 解释: 
    • 通过空间优化,只用两个变量 first 和 second 存储前两个斐波那契数值,减少了空间复杂度。
    • 时间复杂度是 O(n),空间复杂度是 O(1)。
总结:
  • 递归法: 直接递归实现,虽然简单,但由于大量重复计算,效率低。
  • 动态规划(DP): 通过存储中间计算结果,避免重复计算,显著提高效率。
  • 空间优化: 动态规划可以通过滚动数组技巧来优化空间复杂度。
时间复杂度: O(n)
空间复杂度: O(1)(优化后的解法)


四、常考点总结

知识点

内容

常见问题

状态转移方程

动态规划的核心是递推关系(例如:f(n) = f(n-1) + f(n-2))

题目能否用动态规划解决,是否存在最优子结构?

爬楼梯问题

动态规划解法,关键是通过状态转移方程f(n) = f(n-1) + f(n-2)来计算

边界条件的处理,空间优化的使用

**斐波那契

动态规划解题步骤总结

定义状态:明确dp[i]表示什么(如斐波那契数、爬楼梯方法数)。

建立状态转移方程:找到dp[i]与dp[i-1]、dp[i-2]等的关系。

初始化:设置初始值(如dp[0]、dp[1])。

确定计算顺序:通常从前往后遍历。

空间优化:用变量代替数组(如滚动数组)。

常考题型

基础DP问题:斐波那契、爬楼梯、路径计数。

变种DP问题:最小路径和、背包问题简化版。

二维DP问题:网格中的动态规划(如机器人路径)。

动态规划的两个主要特征:

重叠子问题:问题可以分解为多个子问题,这些子问题不是独立的,而是相互重叠的。

最优子结构:问题的最优解包含其子问题的最优解。

爬楼梯问题

爬楼梯问题是一个经典的动态规划问题。假设你正在爬楼梯,每次可以爬1阶或2阶,问到达第n阶楼梯有多少种不同的方法。

解题思路:

状态定义:设dp[i]表示到达第i阶楼梯的方法数。

状态转移方程:dp[i] = dp[i-1] + dp[i-2],即到达第i阶的方法数等于到达第i-1阶和第i-2阶的方法数之和。

初始条件:dp[1] = 1(到达第1阶只有1种方法),dp[2] = 2(到达第2阶有2种方法:1+1或2

相关文章:

蓝桥杯 Java B 组之简单动态规划(爬楼梯、斐波那契数列)

Day 6&#xff1a;简单动态规划&#xff08;爬楼梯、斐波那契数列&#xff09; 动态规划&#xff08;Dynamic Programming&#xff0c;简称 DP&#xff09;是计算机科学中的一种算法设计思想&#xff0c;用来解决最优解问题&#xff0c;它的核心思想是将大问题分解为小问题&am…...

传统 I/O 和 NIO 的主要区别

在 Java 中&#xff0c;文件读写可以通过传统的 I/O 方式&#xff08;如 InputStream 和 OutputStream&#xff09;或 NIO&#xff08;New I/O&#xff09;方式&#xff08;如 FileChannel&#xff09;来实现。NIO 的 FileChannel 提供了更高效的文件操作方式&#xff0c;尤其是…...

0基础学LabVIEW

对于零基础的朋友来说&#xff0c;学习LabVIEW需要一个科学的学习路径和方法。通过观看优质的B站教程打好基础&#xff0c;再结合实际项目进行实践操作&#xff0c;能够快速提升LabVIEW的应用能力。以下是从入门到进阶的学习建议。 ​ 一、利用B站入门教程打基础 筛选优质教程…...

二〇二四年终总结

写在前面 简单总结一下告诉自己&#xff0c;曾经活着 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#xff0c;眼前的风景已经和从前不一样了。——村上春树 原本应该 24 年年中的时候写 23 年年终的总结&#xff0c;但是一直拖着&…...

设计模式:状态模式

状态机有3个要素&#xff1a;状态&#xff0c;事件&#xff0c;动作。 假如一个对象有3个状态:S1、S2、S3。影响状态的事件有3个&#xff1a;E1、E2、E3。每个状态下收到对应事件的时候&#xff0c;对象的动作为AXY。那么该对象的状态机就可以用如下表格来表示。S1收到事件E1的…...

SQLite Select 语句详解

SQLite Select 语句详解 SQLite 是一个轻量级的数据库管理系统&#xff0c;以其简洁的设计和高效的性能被广泛应用于各种场景。在 SQLite 中&#xff0c;SELECT 语句是用于查询数据库中的数据的命令。本文将详细介绍 SQLite 的 SELECT 语句&#xff0c;包括其基本语法、常用功…...

【深度学习】计算机视觉(CV)-目标检测-Faster R-CNN —— 高精度目标检测算法

1.什么是 Faster R-CNN&#xff1f; Faster R-CNN&#xff08;Region-based Convolutional Neural Network&#xff09; 是 目标检测&#xff08;Object Detection&#xff09; 领域的一种 双阶段&#xff08;Two-Stage&#xff09; 深度学习方法&#xff0c;由 Ross Girshick…...

静默安装OGG for MySQL微服务版本,高效开展数据同步和迁移

一、背景 本文从Oracle GoldenGate微服务版的概念和组件介绍开始&#xff0c;从零介绍了怎么开始安装GoldenGate 21c for Oracle微服务版本的软件及部署。当然了&#xff0c;微服务版除新功能外包含传统版所有的功能。 二、安装部署 &#xff08;一&#xff09;下载OGG for …...

排序算法衍生问题

排序算法衍生问题 引言 排序算法是计算机科学中的基本问题之一&#xff0c;广泛应用于各种实际场景中。尽管有多种排序算法可供选择&#xff0c;但每种算法都有其特定的优势和局限性。本文将探讨排序算法中的一些衍生问题&#xff0c;包括算法效率、稳定性、内存占用等方面&a…...

DeepSeek自动化写作软件

DeepSeek写作软件的三大核心功能 对于内容创作者来说&#xff0c;写作不仅是表达思想的过程&#xff0c;更是一项需要投入大量时间和精力的任务。面对日益增长的内容需求&#xff0c;写作效率低下、内容质量不高等问题&#xff0c;常常让创作者感到焦虑。而 DeepSeek 写作软件…...

Python数据可视化 - Matplotlib教程

文章目录 前言一、Matplotlib简介及安装1. Matplotlib简介2. 安装Matplotlib 二、Matplotlib Pyplot1. Pyplot介绍2. Pyplot中方法介绍2.1 创建和管理图形2.2 绘制图形2.3 设置图形属性2.4 保存和展示 三、Matplotlib绘图标记1. 介绍2. 基本用法3. 标记大小与颜色4. 标记样式列…...

集成测试总结文档

1. 集成测试的定义 集成测试&#xff08;Integration Testing&#xff09;是在单元测试之后&#xff0c;将多个独立的软件模块或组件组合在一起进行测试的过程&#xff0c;目的是验证这些模块之间的接口、数据传递、协作逻辑是否符合设计要求&#xff0c;并发现因集成引发的缺…...

Retrieval-Augmented Generation for LargeLanguage Models: A Survey

标题&#xff1a;Retrieval-Augmented Generation for Large Language Models: A Survey 作者&#xff1a;Yunfan Gaoa , Yun Xiongb , Xinyu Gaob , Kangxiang Jiab , Jinliu Panb , Yuxi Bic , Yi Daia , Jiawei Suna , Meng Wangc , and Haofen Wang 1. By referencing ext…...

Day3 25/2/16 SUN

【一周刷爆LeetCode&#xff0c;算法大神左神&#xff08;左程云&#xff09;耗时100天打造算法与数据结构基础到高级全家桶教程&#xff0c;直击BTAJ等一线大厂必问算法面试题真题详解&#xff08;马士兵&#xff09;】https://www.bilibili.com/video/BV13g41157hK?p4&v…...

使用maven-archetype制作项目脚手架

使用maven-archetype制作项目脚手架 maven plugin依赖 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-archetype-plugin</artifactId><version>3.0.1</version> </plugin>导出模板 在模板项目执行…...

Spring AOP源码解析

前言 Spring AOP&#xff08;面向切面编程&#xff09;是 Spring 框架的核心模块之一&#xff0c;其底层通过 动态代理 和 字节码增强 实现。以下是 Spring AOP 的源码解析&#xff0c;涵盖核心流程、关键类及实际应用场。 一、Spring AOP 的核心组件 核心接口 Joinpoint&am…...

1.buuctf [BJDCTF2020]EasySearch

进入题目页面如下 尝试输入弱口令密码都显示错误 看题目是search&#xff0c;扫描一下根目录试试 /index.php.swp 得到源码 进行一下代码审计 <?php//开启输出缓冲&#xff0c;将所有的输出内容先保存到缓冲区&#xff0c;而不是直接输出到浏览器。ob_start();//定义一个…...

小米 R3G 路由器刷机教程(Pandavan)

小米 R3G 路由器刷机教程&#xff08;Pandavan&#xff09; 一、前言 小米 R3G 路由器以其高性价比和稳定的性能备受用户青睐。然而&#xff0c;原厂固件的功能相对有限&#xff0c;难以满足高级用户的个性化需求。刷机不仅可以解锁路由器的潜能&#xff0c;还能通过第三方固…...

【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析③】

ISO 14229-1:2023 UDS诊断【会话控制0x10服务】_TestCase03 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月15日 关键词&#xff1a;UDS诊断、0x10服务、诊断会话控制、ECU测试、ISO 14229-1:2023 TC10-003测试用例 用例ID测试场景验证要点参考条款预期…...

deepseek与gpt,核心原理对比

DeepSeek与GPT作为AI大模型,在自然语言处理等领域展现出强大的能力,它们的核心原理对比主要体现在模型架构、训练策略、资源效率以及应用场景优化等方面。 一、模型架构 DeepSeek 混合专家(MoE)框架:DeepSeek采用了混合专家框架,其内部包含多个“专家”子模块,每个子模…...

第1章大型互联网公司的基础架构——1.1 单机房的内部架构

所谓的应用后台就是指机房。机房架构是一个庞大的工程&#xff0c;你可能听说过很多大型互联网公司曾在各种技术峰会上介绍它们的“三地五中心”多机房&#xff0c;甚至是全球异地多活机房等&#xff0c;这些“高大上”的话题讨论的都是机房架构的内容。机房最简单的形式是单机…...

如何在 Vue 3 中使用 Vue Router 和 Vuex

在 Vue 3 中使用 Vue Router 1. 安装 Vue Router 在项目根目录下&#xff0c;通过 npm 或 yarn 安装 Vue Router 4&#xff08;适用于 Vue 3&#xff09;&#xff1a; npm install vue-router4 # 或者使用 yarn yarn add vue-router42. 创建路由配置文件 在 src 目录下创建…...

网络安全月度报告

3.1.1网络现状及安全挑战 网络的出现给人们的工作和生活带来了极大的便利&#xff0c;但同时也带来了极大的安全风险。在信息传输和交换时&#xff0c;需要对通信信道上传输的机密数据进行加密&#xff1b;在数据存储和共享时&#xff0c;需要对数据库进行安全的访问控制和对访…...

人大金仓国产数据库与PostgreSQL

一、简介 在前面项目中&#xff0c;我们使用若依前后端分离整合人大金仓&#xff0c;在后续开发过程中&#xff0c;我们经常因为各种”不适配“问题&#xff0c;但可以感觉得到大部分问题&#xff0c;将人大金仓视为postgreSQL就能去解决大部分问题。据了解&#xff0c;Kingba…...

Python的imutils库详细介绍

imutils 是一个专为简化OpenCV&#xff08;计算机视觉库&#xff09;常见操作而设计的Python工具库&#xff0c;提供了一系列便捷函数&#xff0c;使图像和视频处理更加高效和简洁。以下是对其功能、安装及用法的详细介绍&#xff1a; 1. 安装方法 通过pip安装&#xff1a; p…...

【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第三节】

ISO 14229-1:2023 UDS诊断服务测试用例全解析&#xff08;安全访问0x27服务&#xff09; 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025-02-12 关键词&#xff1a;UDS安全访问、0x27服务、ISO 14229-1:2023、ECU安全验证 一、服务概述 安全访问服务&#xff0…...

DeepSeek与医院电子病历的深度融合路径:本地化和上云差异化分析

一、引言 1.1 研究背景与意义 在医疗信息化快速发展的当下,电子病历系统已成为医院信息管理的核心构成。电子病历(EMR)系统,是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图标、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的…...

⚡️《静电刺客的猎杀手册:芯片世界里的“千伏惊魂“》⚡️

前言&#xff1a; 在这个电子产品无孔不入的时代&#xff0c;我们每天都在与一群隐形刺客打交道——它们身怀数千伏特的高压绝技&#xff0c;能在0.1秒内让价值百万的芯片灰飞烟灭。这就是静电放电&#xff08;ESD&#xff09;&#xff0c;电子工业界最令人闻风丧胆的"沉默…...

GPU 英伟达GPU架构回顾

1999 年&#xff0c;英伟达发明了 GPU&#xff08;graphics processing unit&#xff09;&#xff0c;本节将介绍英伟达 GPU 从 Fermi 到 Blackwell 共 9 代架构&#xff0c;时间跨度从 2010 年至 2024 年&#xff0c;具体包括费米&#xff08;Feimi&#xff09;、开普勒&#…...

Git 分布式版本控制

Git 是分布式版本控制 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据 总结 前言 git基本流程 本地git安装并将bin目录配置到环境变量path中&#xff0c;右键git bash后配置本地用户名与邮箱 git congig --global user.name "" || …...

【网络】协议与网络版计算器

协议与网络版计算器 文章目录 1.协议的概念 1.1序列化与反序列化 2.网络版计算器 2.1封装套接字2.2协议定制 2.2.1Jsoncpp2.2.2报文处理 2.3会话层&#xff1a;TcpServer2.4应用层&#xff1a;Calculate2.5表示层&#xff1a;Service2.6应用层、表示层和会话层->应用层 …...

AI语言模型的技术之争:DeepSeek与ChatGPT的架构与训练揭秘

云边有个稻草人-CSDN博客 目录 第一章&#xff1a;DeepSeek与ChatGPT的基础概述 1.1 DeepSeek简介 1.2 ChatGPT简介 第二章&#xff1a;模型架构对比 2.1 Transformer架构&#xff1a;核心相似性 2.2 模型规模与参数 第三章&#xff1a;训练方法与技术 3.1 预训练与微调…...

【Python爬虫(5)】HTTP协议:Python爬虫的基石

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

机器学习数学基础:24.随机事件与概率

一、教程目标 本教程致力于帮助零基础或基础薄弱的学习者&#xff0c;全面掌握概率论与数理统计的基础公式&#xff0c;透彻理解核心概念&#xff0c;熟练学会应用解题技巧&#xff0c;最终能够轻松应对期末或考研考试。 二、适用人群 特别适合那些对概率论与数理统计知识了…...

Mongodb数据管理

Mongodb数据管理 1.登录数据库&#xff0c;查看默认的库 [rootdb51~]# mongo> show databases; admin 0.000GB config 0.000GB local 0.000GB> use admin switched to db admin > show tables system.version > admin库&#xff1a;admin 是 MongoDB 的管理…...

vue3响应式丢失解决办法(三)

vue3的响应式的理解&#xff0c;与普通对象的区别&#xff08;一&#xff09; vue3 分析总结响应式丢失问题原因&#xff08;二&#xff09; 经过前面2篇文章&#xff0c;知道了响应式为什么丢失了&#xff0c;但是还是碰到了丢失情况&#xff0c;并且通过之前的内容还不能解…...

Django中数据库迁移命令

在 Django 中&#xff0c;数据库迁移是确保数据库结构与 Django 模型定义保持一致的重要过程。以下是 Django 中常用的数据库迁移命令&#xff1a; 1. python manage.py makemigrations 功能&#xff1a;此命令用于根据 Django 项目的模型文件&#xff08;models.py&#xff…...

LLM之循环神经网络(RNN)

在人工智能的领域中&#xff0c;神经网络是推动技术发展的核心力量。今天&#xff0c;让我们深入探讨循环神经网络&#xff08;RNN&#xff09; 一、神经网络基础 &#xff08;1&#xff09;什么是神经网络 神经网络&#xff0c;又称人工神经网络&#xff0c;其设计灵感源于人…...

TDengine 客户端连接工具 taos-Cli

简介工具获取运行命令行参数 基础参数高级参数 数据导出/导入 数据导出数据导入 执行 SQL 脚本使用小技巧 TAB 键自动补全设置字符列显示宽度其它 错误代码表 简介 TDengine 命令行工具&#xff08;以下简称 TDengine CLI&#xff09;是用户操作 TDengine 实例并与之交互最简…...

Express 路由路径正则详解

在 Express 中&#xff0c;使用正则表达式可以定义更加灵活和复杂的路由。 1. 基本语法 在 Express 中&#xff0c;路由路径可以是一个字符串、字符串模式或者正则表达式。当使用正则表达式时&#xff0c;将其作为路由路径传入 app.METHOD() 方法&#xff08;METHOD 可以是 g…...

快速设置 Docker 网络代理配置

Docker Client - 代理访问远程的 Docker Daemon 在 Client 端设置代理其实就是设置 Linux 系统的代理&#xff0c;从而让系统的命令行可以通过代理连接到外部的网络。一般只需要配置 HTTP_PROXY 与 HTTPS_PROXY 这两个即可。 临时生效&#xff1a; 在命令行中执行下面的命令&…...

JVM ②-双亲委派模型 || 垃圾回收GC

这里是Themberfue 在上节课对内存区域划分以及类加载的过程有了简单的了解后&#xff0c;我们再了解其他两个较为重要的机制&#xff0c;这些都是面试中常考的知识点&#xff0c;有必要的话建议背出来&#xff0c;当然不是死记硬背&#xff0c;而是要有理解的背~~~如果对 JVM …...

内容中台驱动企业数字化内容管理高效协同架构

内容概要 在数字化转型加速的背景下&#xff0c;企业对内容管理的需求从单一存储向全链路协同演进。内容中台作为核心支撑架构&#xff0c;通过统一的内容资源池与智能化管理工具&#xff0c;重塑了内容生产、存储、分发及迭代的流程。其核心价值在于打破部门壁垒&#xff0c;…...

人工智障的软件开发-自动流水线CI/CD篇-docker+jenkins部署之道

指令接收&#xff1a;「需要自动构建系统」 系统检测&#xff1a;目标开发一个软件已完成代码仓库-轻盈的gitea&#xff0c;开始添加自动流水线 启动应急冷却协议&#xff1a;准备承受Java系应用的资源冲击 核心组件锁定&#xff1a;构建老将军Jenkins&#xff08;虽然年迈但依…...

数字人技术之LatentSync Win11本地部署

#LatentSync技术原理 字节跳动开源的基于音频条件潜在扩散模型的端到端唇同步框架,基于潜在扩散模型,以音频条件潜在扩散模型为基础&#xff0c;利用 Stable Diffusion 强大能力&#xff0c;直接建模复杂的音频与视觉之间的关系&#xff0c;实现高质量的唇形同步. 从而制作虚拟…...

Llama3.0论文学习笔记: The Llama 3 Herd of Models

1. 写在前面 今天分享Llama3.0的论文&#xff0c;2024.7月来自Meta的Llama团队&#xff0c;2025年1月DeepSeek R1出现之后&#xff0c;其风头显然已经盖住了Llama3&#xff0c;这时候整理Llama3感觉有点赶不上潮流了&#xff0c;但是我还是想整理下Llama3.0&#xff0c;原因是…...

C#学习之数据转换

目录 一、创作说明 二、数据类型之间的转换 1.数据类型之间的转换表格 2.代码示例 三、进制之间的转换 1.进制之间的转换表格 2.代码示例 四、ASCII 编码和字符之间的转换 1.ASCII 编码和字符之间的转换表格 2.代码示例 五、总结 一、创作说明 C#大多数时候都是和各…...

POI 和 EasyExcel

前言 将表格信息导出为Excel表格&#xff08;导出数&#xff09;将Excel表格信息录入到数据库&#xff08;导入数据&#xff09; 操作Excel目前比较流行的就是 Apache POI 和阿里巴巴的 EasyExcel Apache POI Apache POI 官网&#xff1a;https://poi.apache.org/ HSSF&am…...

分布式光纤传感:为生活编织“感知密网”

分布式光纤测温技术虽以工业场景为核心&#xff0c;但其衍生的安全效益已逐步渗透至日常生活。 分布式光纤测温技术&#xff08;DTS&#xff09;作为一种先进的线型温度监测手段&#xff0c;近年来在多个领域展现了其独特的优势。虽然其核心应用场景主要集中在工业、能源和基础…...

Web后端 - Maven管理工具

一 Maven简单介绍 Maven是apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 Maven的作用 二 Maven 安装配置 依赖配置 依赖传递 依赖范围 生命周期 注意事项&#xff1a;在同一套生命周期中&#xff0c;当运行后面的阶段时&#xff0c;前面的阶段都…...