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

第7次课 栈A

课堂学习

栈(stack)

是一种遵循先入后出逻辑的线性数据结构。

我们可以将栈类比为桌面上的一摞盘子,如果想取出底部的盘子,则需要先将上面的盘子依次移走。我们将盘子替换为各种类型的元素(如整数、字符、对象等),就得到了栈这种数据结构。

如图 5-1 所示,我们把堆叠元素的顶部称为“栈顶”,底部称为“栈底”。将把元素添加到栈顶的操作叫作“入栈”,删除栈顶元素的操作叫作“出栈”。

栈是 OI 中常用的一种线性数据结构。请注意,本文主要讲的是栈这种数据结构,而非程序运行时的系统栈/栈空间。

栈的修改与访问是按照后进先出的原则进行的,因此栈通常被称为是后进先出(last in first out)表,简称 LIFO 表。

栈的常用操作

栈的常用操作如下所示,具体的方法名需要根据所使用的编程语言来确定。在此,我们以常见的 push()pop()peek() 命名为例。

通常情况下,我们可以直接使用编程语言内置的栈类。然而,某些语言可能没有专门提供栈类,这时我们可以将该语言的“数组”或“链表”当作栈来使用,并在程序逻辑上忽略与栈无关的操作。

  1. 栈的操作是可以出栈、入栈交替进行的所以出栈序列并不一定是倒序
  2. 注意:已经出栈的数据不要重复入栈
  3. 注意:并不是所有的出栈序列都可以被操作出来
/* 初始化栈 */
stack<int> stack;/* 元素入栈 */
stack.push(1);
stack.push(3);
stack.push(2);
stack.push(5);
stack.push(4);/* 访问栈顶元素 */
int top = stack.top();/* 元素出栈 */
stack.pop(); // 无返回值/* 获取栈的长度 */
int size = stack.size();/* 判断是否为空 */
bool empty = stack.empty();

练一练

总结:

栈的概念
  • 数据的操作只从一端完成,如存、取等;
  • 数据存放遵循,先进后出,后进先出的原则;
栈的操作
  • 入栈、出栈;
  • 栈顶元素、栈底元素、空栈、满栈:
  • 判断出栈顺序

栈的实现

为了深入了解栈的运行机制,我们来尝试自己实现一个栈类。

栈遵循先入后出的原则,因此我们只能在栈顶添加或删除元素。然而,数组和链表都可以在任意位置添加和删除元素,因此栈可以视为一种受限制的数组或链表。换句话说,我们可以“屏蔽”数组或链表的部分无关操作,使其对外表现的逻辑符合栈的特性。

入栈

 出栈

 

取栈顶元素

清空栈

 

#include<bits/stdc++.h>
using namespace std;
int a[6], top;
//入栈函数
void push(int x) { if (top<5) {top++;a[top]=x;}return;
}
//出栈函数
void pop() { if (top>0) {//a[top]=0; 可以省略top--;}return;
}
//显示栈顶元素
int getTop() { return a[top];
}
//清空栈
void clear() { top=0;return;
}
int main() {return 0;
}

课堂训练

4145 栈的操作

描述

输入5个整数,将这5个整数进行入栈,接下来做三次出栈操作,按照出栈顺序输出出栈元素,以上操作完成后输出此时的栈顶元素。

输入描述

输入5个整数,用空格隔开。

输出描述

输出2行,第1行输出出栈元素,按照出栈顺序输出,用空格隔开。第2行输出完成出栈操作后的栈顶元素。

样例输入 1 

4 9 12 6 7

样例输出 1 

7 6 12
9

提示

数据范围与提示

1≤整数≤1000

#include<bits/stdc++.h>
using namespace std;
int a[6], top;
void push(int x) { //入栈函数if (top<5) {top++;a[top]=x;}return;
}
void pop() { //出栈函数if (top>0) {top--;}return;
}
int getTop() { //显示栈顶元素return a[top];
}
void clear() { //清空栈top=0;return;
}
int main() {int num=0;//入栈for (int i=1;i<=5;i++) {cin>>num;push(num);}//出栈并输出出栈元素for (int i=1;i<=3;i++) {cout<<getTop()<<" ";pop();}//输出栈顶元素cout<<endl<<getTop();return 0;
} 

2858 小鱼的数字游戏

描述

小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字a1、a2、a3…an-1、an ,反着念出来。如:1、2、3,反着念为:3、2、1。这对小鱼的那点记忆力来说实在是太难了,所以请你帮小鱼编程解决这个问题。

输入描述

第一行输入一个整数n(1<n<10)。
第二行输入n个数字,以空格间隔。

输出描述

一行内倒序输出n个数字,以空格间隔。

样例输入 1 

7
3 65 23 5 34 1 30

样例输出 1 

30 1 34 5 23 65 3
#include<bits/stdc++.h>
using namespace std;
int s[101];
int top=0;
//入栈
void push(int x) {if (top<100) {top++;s[top]=x;}return;
}
//出栈
void pop() {if (top>0) {top--;}return;
}
//显示栈顶
int getTop() {return s[top];
}int main() {int n = 0, num = 0;cin>>n;//输入并入栈for (int i = 0; i < n; i++) {cin >> num;push(num); //入栈}//输出并出栈while (top > 0) { //判断栈不为空cout << getTop() << " "; //输出栈顶pop(); //出栈}return 0;
}

2857 小括号问题

描述

假设表达式中只允许包含一种括号:圆括号,需要成对出现。即(( ))或(( )( ))等为正确的格式,(( )或 ( ))或(((均为不正确的格式。
给定一串括号输入(换行作为结束符),检测格式是否正确,若正确输出YES;错误输出NO。
(括号数量≤100)

输入描述

输出描述

样例输入 1 

(())

样例输出 1 

YES
#include<bits/stdc++.h>
using namespace std;
char s[101], a[101];
int top=0;
//入栈
void push(char x) {if (top<200) {top++;s[top]=x;}return;
}
//出栈
void pop() {if (top>0) {top--;}return;
}
//显示栈顶
char getTop() {return s[top];
}
int main() {cin >> a;//获取字符串int len=strlen(a);for (int i=0; i<len; i++) {//左括号入栈if (a[i]=='('){push(a[i]);} else if (getTop()=='(') {pop();} else {cout << "NO";return 0;	}}//栈空时if (top==0) {cout << "YES";//栈非空时} else {cout << "NO";}return 0;
}

2859 括号匹配问题

描述

假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,但需要成对出现。即()或 [([ ][ ])]等为正确的格式,[ ( ] )或 ( [ ( ) )或( ( ) ] )均为不正确的格式。
给定一串括号输入(换行作为结束符),检测格式是否正确,若正确输出YES;错误输出NO。
(括号数量≤100)

输入描述

输出描述

样例输入 1 

([]())

样例输出 1 

YES
#include<bits/stdc++.h>
using namespace std;
char s[101], a[101];
int top=0;
//入栈
void push(char x) {if (top<200) {top++;s[top]=x;}return;
}
//出栈
void pop() {if (top>0) {top--;}return;
} 
//显示栈顶
char getTop() {return s[top];
} 
int main() {cin >> a;//获取字符串int len=strlen(a);for (int i=0; i<len; i++) {//左括号入栈if (a[i]=='['||a[i]=='('){push(a[i]);//右括号对比} else if (a[i]==')' && getTop()=='(') {pop();} else if (a[i]==']' && getTop()=='[') {pop();//既匹配不了栈顶也无法入栈} else {cout << "NO";return 0;}}//栈空时if (top==0) {cout << "YES";//栈非空时} else {cout << "NO";}return 0;
}

课后作业

2879  字母的读写
2880 中括号问题
5296 括号成加对数量
1680 调度员的烦恼

相关文章:

第7次课 栈A

课堂学习 栈&#xff08;stack&#xff09; 是一种遵循先入后出逻辑的线性数据结构。 我们可以将栈类比为桌面上的一摞盘子&#xff0c;如果想取出底部的盘子&#xff0c;则需要先将上面的盘子依次移走。我们将盘子替换为各种类型的元素&#xff08;如整数、字符、对象等&…...

TXT编码转换工具iconv

iconv.exe是实现TXT编码转换的命令行工具&#xff0c;支持几百种编码格式的转换&#xff0c;利用它可以在自主开发程序上实现TXT文档编码的自动转换。 一、命令参数格式 Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...] or: iconv -l 二、转换的示例 将UTF-8…...

基于Spring Boot + Vue的高校心理教育辅导系统

一、项目背景介绍 随着高校对学生心理健康教育的重视&#xff0c;传统的人工心理辅导与测评模式已经难以满足广大师生的个性化需求。为了提高心理服务的效率、便捷度和覆盖范围&#xff0c;本项目开发了一个高校心理教育辅导系统&#xff0c;集成心理评测、辅导预约、留言交流…...

关于甲骨文(oracle cloud)丢失MFA的解决方案

前两年&#xff0c;申请了一个招商的多币种信用卡&#xff0c;然后就从网上撸了一个oracle的免费1h1g的服务器。 用了一段时间&#xff0c;人家要启用MFA验证。 啥叫MFA验证&#xff0c;类似与短信验证吧&#xff0c;就是绑定一个手机&#xff0c;然后下载一个app&#xff0c;每…...

Linux系统管理与编程17:自动化部署ftp服务

兰生幽谷&#xff0c;不为莫服而不芳&#xff1b; 君子行义&#xff0c;不为莫知而止休。 #virtual用户管理&#xff1a;passerbyA、captain和admin三个虚拟用户 # passerbyA只能看&#xff0c;captain可看读写上传&#xff0c;但不能删除。admin全部权限 [rootshell shell]…...

C++STL——stack,queue

stack与queue 前言容器适配器deque 前言 本篇主要讲解stack与queue的底层&#xff0c;但并不会进行实现&#xff0c;stack的接口 queue的接口 &#xff0c;关于stack与queue的接口在这里不做讲解&#xff0c;因为通过前面的对STL的学习&#xff0c;这些接口都是大同小异的。 …...

HC-SR04超声波测距传感器

1.基本信息 供电电压5v,测量范围2cm~400cm,测量精度正负3mm&#xff0c;超声波频率40khz 2.连接引脚&#xff1a; 3.工作原理 TRIG引脚发送至少10us的高电平信号&#xff0c;ECHO引脚负责接受信号&#xff1b; 接受方式&#xff1a;计算测量高电平持续的时间&#xff0c;从一…...

内存安全暗战:从 CVE-2025-21298 看 C 语言防御体系的范式革命

引言 2025 年 3 月&#xff0c;美国 CERT 发布的《年度漏洞报告》揭示了触目惊心的数据&#xff1a;C/C 相关漏洞占全年高危漏洞的 68%&#xff0c;其中内存安全问题贡献了 92% 的远程代码执行风险。当 CVE-2025-21298 漏洞在某工业控制软件中被利用&#xff0c;导致欧洲某核电…...

Linux笔记---System V共享内存

1. System V共享内存简介 System V共享内存是一种在Linux系统中用于进程间通信的机制。顾名思义&#xff0c;就是申请一段可供多个进程共享的内存&#xff0c;以用于进程间通信&#xff0c;相对于管道机制要更加直接。 1.1 原理 System V共享内存通过创建和使用一个特定的IP…...

MySQL 1366 - Incorrect string value:错误

MySQL 1366 - Incorrect string value:错误 错误如何发生发生原因&#xff1a; 解决方法第一种尝试第二种尝试 错误 如何发生 在给MySQL添加数据的时候发生了下面的错误 insert into sys_dept values(100, 0, 0, 若依科技, 0, 若依, 15888888888, ryqq.com, 0,…...

慈缘基金会“蝴蝶飞”助西藏女孩白玛卓嘎“折翼重生”

历经六个月、178天的艰难治疗&#xff0c;来自西藏拉萨的15岁女孩白玛卓嘎&#xff0c;终于在4月底挺直脊梁&#xff0c;带着自信的笑容踏上了回家的路。这场跨越雪域高原与首都北京的“生命蜕变之旅”&#xff0c;不仅改写了这位藏族少女的人生轨迹&#xff0c;更见证了公益力…...

【生存技能】ubuntu 24.04 如何pip install

目录 原因解决方案说明 在接手一个新项目需要安装python库时弹出了以下提示: 原因 这个报错是因为在ubuntu中尝试直接使用 pip 安装 Python 包到系统环境中&#xff0c;ubuntu 系统 出于稳定性考虑禁止了这种操作 这里的kali是因为这台机器的用户起名叫kali,我也不知道为什么…...

TDengine 在智能制造中的核心价值

简介 智能制造与数据库技术的深度融合&#xff0c;已成为现代工业技术进步的一个重要里程碑。随着信息技术的飞速发展&#xff0c;智能制造已经成为推动工业转型升级的关键动力。在这一进程中&#xff0c;数据库技术扮演着不可或缺的角色&#xff0c;它不仅承载着海量的生产数…...

代码随想录第41天:图论2(岛屿系列)

一、岛屿数量&#xff08;Kamacoder 99&#xff09; 深度优先搜索&#xff1a; # 定义四个方向&#xff1a;右、下、左、上&#xff0c;用于 DFS 中四向遍历 direction [[0, 1], [1, 0], [0, -1], [-1, 0]]def dfs(grid, visited, x, y):"""对一块陆地进行深度…...

C语言复习--柔性数组

柔性数组是C99中提出的一个概念.结构体中的最后⼀个元素允许是未知大小的数组&#xff0c;这就叫做柔性数组成员。 格式大概如下 struct S { int a; char b; int arr[];//柔性数组 }; 也可以写成 struct S { int a; char b; int arr[0];//柔性数组 }; …...

《Python星球日记》 第55天:迁移学习与预训练模型

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、迁移学习基础1. 什么是迁移学习&#xff1f;2. 迁移学习的优势3. 迁移学习的…...

Python项目75:PyInstaller+Tkinter+subprocess打包工具1.0(安排 !!)

这个打包工具包含以下功能&#xff1a; 1.主要功能&#xff1a;选择Python脚本文件&#xff0c;设置打包选项&#xff08;单文件打包、无控制台窗口&#xff09;&#xff0c;自定义程序图标&#xff0c;指定输出目录&#xff0c;实时显示打包日志。 2.自适应布局改进&#xff…...

互联网大厂Java面试实录:从基础到微服务的深度考察

互联网大厂Java面试实录&#xff1a;从基础到微服务的深度考察 面试场景 面试官&#xff1a;风清扬&#xff08;严肃且技术深厚&#xff09; 求职者&#xff1a;令狐冲&#xff08;技术扎实但偶尔含糊&#xff09; 第一轮&#xff1a;Java基础与框架 风清扬&#xff1a;令狐…...

学习黑客5 分钟深入浅出理解Linux进程管理

5 分钟深入浅出理解Linux进程管理 &#x1f5a5;️ 大家好&#xff01;今天我们将探索Linux系统中的进程管理——这是理解系统运行机制和进行安全分析的基础知识。在TryHackMe平台上进行网络安全学习时&#xff0c;了解进程如何工作以及如何监控和控制它们&#xff0c;对于识别…...

Kubernetes应用发布方式完整流程指南

Kubernetes&#xff08;K8s&#xff09;作为容器编排领域的核心工具&#xff0c;其应用发布流程体现了自动化、弹性和可观测性的优势。本文将通过一个Tomcat应用的示例&#xff0c;详细讲解从配置编写到高级发布的完整流程&#xff0c;帮助开发者掌握Kubernetes应用部署的核心步…...

JVM——即时编译器的中间表达形式

中间表达形式&#xff08;IR&#xff09;&#xff1a;编译器的核心抽象层 1. IR的本质与作用 在编译原理的体系中&#xff0c;中间表达形式&#xff08;Intermediate Representation, IR&#xff09;是连接编译器前端与后端的桥梁。前端负责将源代码转换为IR&#xff0c;而后…...

Js 判断浏览器cookie 是否启用

验证时 google浏览器 135.0.7049.117 不生效 cookie.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>Cookie 检测</title> </head> <body><h1>检测是否启用 Cookie<…...

数字相机的快门结构

数字相机(DC/DSLR等)的快门结构和传统相机有所不同,除了机械快门以外,还存在电子快门,实际上是二者的混合体。我写这篇文章大概介绍一下数字相机的快门结构,希望能抛砖引玉。 要讨论数字相机的快门结构,首先先要了解一下数字相机的结构分类,根据成像原理不同,数字相机大…...

LeetCode --- 448 周赛

题目列表 3536. 两个数字的最大乘积 3537. 填充特殊网格 3538. 合并得到最小旅行时间 3539. 魔法序列的数组乘积之和 一、两个数字的最大乘积 由于数据都是正数&#xff0c;所以乘积最大的两个数&#xff0c;本质就是找数组中最大的两个数即可&#xff0c;可以排序后直接找到…...

添加物体.

在cesium中我们可以添加物体进入地图.我们以广州塔为例 //生成广州塔的位置var position2 Cesium.Cartesian3.fromDegrees(113.3191,23.109,100)viewer.camera.setView({//指定相机位置destination: position2, 运行后如图 我们使用cesium官网提供的代码为广州塔在地图上标点…...

ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例

ABB电机控制和保护单元与Profibus DP主站转Modbus TCP网关快速通讯案例 在现代工业自动化系统中&#xff0c;设备之间的互联互通至关重要。Profibus DP和Modbus TCP是两种常见的通信协议&#xff0c;分别应用于不同的场景。为了实现这两种协议的相互转换&#xff0c;Profibus …...

Yocto中`${S}`和`${WORKDIR}`的联系与区别

在Yocto项目中,${S}和${WORKDIR}是构建过程中两个核心路径变量,它们的关系及用途如下: 定义与层级关系${WORKDIR}(工作目录) 是Recipe所有任务执行的基础目录,路径结构为: build/tmp/work/<arch>/<recipe-name>/<version>/。 该目录包含源码解压后的所…...

CDGP历次主观题真题回忆

(一)【论述】 1如何设计企业的数据安全体系?活动+方法+DSMM 2如何管理公司混乱的数据质量?活动+遵循原则+建立质量维度+质量改进生命周期+高阶指标。...

Java学习手册:Spring Cloud 组件详解

一、服务发现组件 - Eureka 核心概念 &#xff1a;Eureka 是一个服务发现组件&#xff0c;包含 Eureka Server 和 Eureka Client 两部分。Eureka Server 作为服务注册中心&#xff0c;负责维护服务实例的注册信息&#xff1b;Eureka Client 则是集成在应用中的客户端&#xff0…...

【大模型】使用 LLaMA-Factory 进行大模型微调:从入门到精通

使用 LLaMA-Factory 进行模型微调&#xff1a;从入门到精通 一、环境搭建&#xff1a;奠定微调基础&#xff08;一&#xff09;安装依赖工具&#xff08;二&#xff09;创建 conda 环境&#xff08;三&#xff09;克隆仓库并安装依赖 二、数据准备&#xff1a;微调的基石&#…...

sensitive-word-admin v2.0.0 全新 ui 版本发布!vue+前后端分离

前言 sensitive-word-admin 最初的定位是让大家知道如何使用 sensitive-word&#xff0c;所以开始想做个简单的例子。 不过秉持着把一个工具做好的原则&#xff0c;也收到很多小伙伴的建议。 v2.0.0 在 ruoyi-vue&#xff08;也非常感谢若依作者多年来的无私奉献&#xff09…...

HTML属性

HTML&#xff08;HyperText Markup Language&#xff09;是网页开发的基石&#xff0c;而属性&#xff08;Attribute&#xff09;则是HTML元素的重要组成部分。它们为标签提供附加信息&#xff0c;控制元素的行为、样式或功能。本文将从基础到进阶&#xff0c;全面解析HTML属性…...

计算机网络 4-1 网络层(网络层的功能)

【考纲内容】 &#xff08;一&#xff09;网络层的功能 异构网络互连&#xff1b;路由与转发&#xff1b;SDN基本概念&#xff1b;拥塞控制 &#xff08;二&#xff09;路由算法 静态路由与动态路由&#xff1b;距离-向量路由算法&#xff1b;链路状态路由算法&#xff1b;层…...

《算法导论(第4版)》阅读笔记:p17-p27

《算法导论(第4版)》学习第 10 天&#xff0c;p17-p27 总结&#xff0c;总计 11 页。 一、技术总结 1. insertion sort (1)keys The numbers to be sorted are also known as the keys(要排序的数称为key)。 第 n 次看插入排序&#xff0c;这次有两个地方感触比较深&#…...

C++中线程安全的对多个锁同时加锁

C中线程安全的对多个锁同时加锁 C中线程安全的对两个锁同时加锁 C中线程安全的对两个锁同时加锁 参考文档&#xff1a;https://llfc.club/articlepage?id2UVOC0CihIdfguQFmv220vs5hAG 如果我们现在有一个需要互斥访问的变量 big_object&#xff0c;它的定义如下&#xff1a; …...

子串简写(JAVA)一维前缀和, 蓝桥杯

这个题用前缀和&#xff0c;开两个数组&#xff0c;一个存前n个字符数据的c1的数字个数&#xff0c;另一个前n个字符c2的数字个数&#xff0c;然后遍历一次加起来&#xff0c;有一个测试点没过去&#xff0c;把那个存最后数的换成long&#xff0c;应该是这题数据范围给的不对&a…...

数据库故障排查全攻略:从实战案例到体系化解决方案

一、引言&#xff1a;数据库故障为何是技术人必须攻克的 "心腹大患" 在数字化时代&#xff0c;数据库作为企业核心数据资产的载体&#xff0c;其稳定性直接决定业务连续性。据 Gartner 统计&#xff0c;企业每小时数据库 downtime 平均损失高达 56 万美元&#xff0…...

vllm笔记

目录 vllm简介vllm解决了哪些问题&#xff1f;1. **瓶颈&#xff1a;KV 缓存内存管理低效**2. **瓶颈&#xff1a;并行采样和束搜索中的内存冗余**3. **瓶颈&#xff1a;批处理请求中的内存碎片化** 快速开始安装vllm开始使用离线推理启动 vLLM 服务器 支持的模型文本语言模型生…...

“AI+城市治理”智能化解决方案

目录 一、建设背景 二、需求分析 三、系统设计 四、系统功能 五、应用场景 六、方案优势 七、客户价值 八、典型案例 一、建设背景 当前我国城市化率已突破65%,传统治理模式面临前所未有的挑战。一方面,城市规模扩大带来治理复杂度呈指数级增长,全国城市管理案件年…...

《医疗AI的透明革命:破解黑箱困境与算法偏见的治理之路》

医疗AI透明度困境 黑箱问题对医生和患者信任的影响&#xff1a;在医疗领域&#xff0c;AI模型往往表现为难以理解的“黑箱”&#xff0c;这会直接影响医生和患者对其诊断建议的信任度 。医生如果无法理解AI给出诊断的依据&#xff0c;就难以判断模型是否存在偏见或错误&#x…...

【论文阅读】Efficient and secure federated learning against backdoor attacks

Efficient and secure federated learning against backdoor attacks -- 高效且安全的可抵御后门攻击的联邦学习 论文来源问题背景TLDR系统及威胁模型实体威胁模型 方法展开服务器初始化本地更新本地压缩高斯噪声与自适应扰动聚合与解压缩总体算法 总结优点缺点 论文来源 名称…...

21、DeepSeekMath论文笔记(GRPO)

DeepSeekMath论文笔记 0、研究背景与目标1、GRPO结构GRPO结构PPO知识点**1. PPO的网络模型结构****2. GAE&#xff08;广义优势估计&#xff09;原理****1. 优势函数的定义**2.GAE&#xff08;广义优势估计&#xff09; 2、关键技术与方法3、核心实验结果4、结论与未来方向关键…...

深入解析:如何基于开源p-net快速开发Profinet从站服务

一、Profinet协议与软协议栈技术解析 1.1 工业通信的"高速公路" Profinet作为工业以太网协议三巨头之一,采用IEEE 802.3标准实现实时通信,具有: 实时分级:支持RT(实时)和IRT(等时实时)通信模式拓扑灵活:支持星型、树型、环型等多种网络结构对象模型:基于…...

腾讯多模态定制化视频生成框架:HunyuanCustom

HunyuanCustom 速读 一、引言 HunyuanCustom 是由腾讯团队提出的一款多模态定制化视频生成框架。该框架旨在解决现有视频生成方法在身份一致性(identity consistency)和输入模态有限性方面的不足。通过支持图像、音频、视频和文本等多种条件输入&#xff0c;HunyuanCustom 能…...

警惕C#版本差异多线程中的foreach陷阱

警惕C#版本差异多线程中的foreach陷阱​ 同样的代码,不同的结果闭包捕获的“时间差”问题绕过闭包陷阱的三种方法Lambda立即捕获(代码简洁)显式传递参数(兼容性最佳)使用Parallel.ForEach(官方推荐)注意事项:版本兼容性指南警惕多线程中的foreach陷阱:C#版本差异引发的…...

2024年AI发展趋势全面解析:从多模态到AGI的突破

2024年AI发展五大核心趋势 1. 多模态AI的爆发式增长 GPT-4V、Gemini等模型实现文本/图像/视频的跨模态理解应用场景扩展至智能客服、内容创作、工业质检等领域 2. 小型化与边缘AI的崛起 手机端LLM&#xff08;如Phi-2&#xff09;实现本地化部署隐私保护与实时响应的双重优…...

高精度之加减乘除之多解总结(加与减篇)

开篇总述&#xff1a;精度计算的教学比较杂乱&#xff0c;无系统的学习&#xff0c;且存在同法多线的方式进行同一种运算&#xff0c;所以我写此篇的目的只是为了直指本质&#xff0c;不走教科书方式&#xff0c;步骤冗杂。 一&#xff0c;加法 我在此讲两种方法&#xff1a; …...

Arduino 开源按键库大合集(单击/双击/长按实现)

2025.5.10 22:25更新&#xff1a;增加了Button2 2025.5.10 13:13更新&#xff1a;增加了superButton 虽然Arduino自带按键中断attachInterrupt(button1.PIN, isr, FALLING);&#xff0c;但是要是要实现去抖&#xff0c;双击检测&#xff0c;长按检测等等就略微麻烦些&#xff0…...

相机Camera日志分析之八:高通Camx HAL架构opencamera三级日志详解及关键字

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:相机Camera日志分析之七:高通Camx HAL架构opencamera二级日志详解及关键字 这一篇我们开始讲: 相机Camera日志分析之八:高通Camx HAL架构opencamera三级日志详解及关键字 目录 【关注我,后续持续…...

Java零组件实现配置热更新

在某些场景下&#xff0c;我们需要实现配置的热更新&#xff0c;但是又要实现软件即插即用的需求&#xff0c;这就使我们不能引入过多复杂的插件&#xff0c;而nacos等配置中心在分布式业务场景下对配置的管理起着很重要作用&#xff0c;为此需要想一些办法去代替它们而完成同样…...