学习笔记2(Lombok+算法)
Lombok :
介绍:
Lombok 是一个在 Java 开发中广泛使用的开源库,它的主要作用是通过注解的方式,减少 Java 代码中大量的样板代码(如 getter、setter、构造函数等),从而让代码更加简洁、易读和易于维护。
1.Getter 和 Setter 方法
在 Java 类中,为了访问和修改类的私有属性,通常需要编写大量的 getter 和 setter 方法。使用 Lombok 的@Getter和@Setter注解,可以自动生成这些方法。
import lombok.Getter;
import lombok.Setter;
public class Person {
@Getter @Setter
private String name;
@Getter @Setter
private int age;
}
上述代码中,@Getter和@Setter注解会在编译时自动为name和age属性生成对应的 getter 和 setter 方法。
2.构造函数
Lombok 提供了@NoArgsConstructor、@RequiredArgsConstructor和@AllArgsConstructor注解来自动生成构造函数。
@NoArgsConstructor:生成一个无参构造函数。
@RequiredArgsConstructor:为类中所有被final修饰的字段和被@NonNull注解的字段生成一个带参构造函数。
@AllArgsConstructor:生成一个包含所有字段的构造函数。
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;
@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class Student {
private String id;
private final String name;
}
3.@EqualsAndHashCode注解
@EqualsAndHashCode注解用于自动生成equals()和hashCode()方法,简化对象比较和哈希操作的代码编写。
import lombok.EqualsAndHashCode;
@EqualsAndHashCode
public class Product {
private String productId;
private String name;
}
4.@Data注解
@Data是一个综合性的注解,它包含了@Getter、@Setter、@ToString、@EqualsAndHashCode和@RequiredArgsConstructor的功能。使用@Data注解可以极大地简化类的定义。
import lombok.Data;
@Data
public class Employee {
private String employeeId;
private String name;
private int age;
}
5. @Builder注解
@Builder注解可以为类生成一个构建器模式的代码,使得对象的创建更加灵活和易读。
import lombok.Builder;
@Builder
public class Order {
private String orderId;
private String customerName;
}
// 使用构建器创建对象Order order = Order.builder()
.orderId("123")
.customerName("John Doe")
.build();
这里的builder方法有
builder情况下给点字段默认值:
@builder.Default在我们的目标字段头上
工作原理
Lombok 的工作原理基于 Java 的注解处理器(Annotation Processor)。在 Java 编译过程中,注解处理器会在编译期扫描代码中的注解,并根据注解的定义生成相应的 Java 代码。例如,当编译器遇到@Getter注解时,会自动在编译后的字节码中添加对应的 getter 方法。
优点
提高开发效率:减少了大量样板代码的编写,开发人员可以将更多的精力放在业务逻辑上。
代码简洁易读:去除了冗长的 getter、setter 等方法,使代码更加简洁,提高了代码的可读性和可维护性。
减少人为错误:自动生成的代码遵循统一的规范,减少了因手动编写代码而可能引入的错误。
缺点
学习成本:团队成员需要学习 Lombok 的注解和使用方法,对于不熟悉 Lombok 的开发者来说,可能会增加一定的学习成本。
调试难度:由于部分代码是在编译期自动生成的,在调试时可能会增加一定的难度。
兼容性问题:某些 IDE 或工具可能对 Lombok 的支持不够完善,可能会导致代码提示或编译错误等问题。
集成与使用
要在项目中使用 Lombok,需要在项目的依赖管理文件中添加 Lombok 的依赖。以 Maven 为例,在pom.xml文件中添加以下依赖:
xml
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<scope>provided</scope></dependency>
同时,为了让 IDE 能够正确识别和处理 Lombok 注解,还需要安装 Lombok 的 IDE 插件。
关键字:var,不写明,根据后面的内容判断类型
val,是final var
资源释放和异常处理:
try with resource
也可以使用@cleanup的注解
如果需要抛出异常,可以使用@sneakyThrows(静默抛出)
非空判断:
@NonNull
@sneakyThrows
可以做到
锁处理:
这里的a不会在100000退出,会在更多的时候退出,这是因为++不是原子性的操作
使用synchronized可以实现互斥访问
这里的synchronized的锁:成员方法:对象作为锁,
静态方法:class类作为锁
会出现同一个类中的多个成员方法出现互斥访问
使用功能@synchronized/@locked可以实现代码块的互斥访问()内可以自定义锁的名字
日志:
@Log、@Log4、@SLF4j等等都有
算法:
树形dp:
Ural 大学有 NN 名职员,编号为 1∼N1∼N。
他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。
每个职员有一个快乐指数,用整数 HiHi 给出,其中 1≤i≤N1≤i≤N。
现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。
在满足这个条件的前提下,主办方希望邀请一部分职员参会,使得所有参会职员的快乐指数总和最大,求这个最大值。
输入格式
第一行一个整数 NN。
接下来 NN 行,第 ii 行表示 ii 号职员的快乐指数 HiHi。
接下来 N−1N−1 行,每行输入一对整数 L,KL,K,表示 KK 是 LL 的直接上司。(注意一下,后一个数是前一个数的父节点,不要搞反)。
输出格式
输出最大的快乐指数。
#include<bits/stdc++.h>
using namespace std;
const int N=10010;
int f[N][2];
int a[N];
bool is[N];
unordered_map<int,vector<int>> e;
int dp(int u,int fa){
f[u][1]=a[u];
for(int v:e[u]){
if(v==fa)continue;
dp(v,u);
f[u][1]+=f[v][0];
f[u][0]+=max(f[v][0],f[v][1]);
}
return max(f[u][1],f[u][0]);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=0;i<n-1;i++){
int u,v;
cin>>u>>v;
is[u]=1;
e[u].push_back(v);
e[v].push_back(u);
}
int root=0;
for(int i=1;i<=n;i++){
if(is[i]==0){
root=i;
break;
}
}
dp(root,-1);
cout<<max(f[root][0],f[root][1]);
}
完全背包:
#include <bits/stdc++.h>
using namespace std;
const long long N=100010;
long long w[N];
long long f[N];
long long n,m;
signed main(){
cin>>n>>m;
f[0]=1;
for(long long i=0;i<n;i++){
cin>>w[i];
}
for(long long i=0;i<n;i++){
for(long long j=w[i];j<=m;j++){
f[j]+=f[j-w[i]];
}
}
cout<<f[m];
}
货币系统
完全背包问题可以表示出1-m中所以可以表示出来的数
#include <bits/stdc++.h>
using namespace std;
const long long N=100010;
long long w[N];
long long f[N];
long long n,m;
signed main(){
cin>>n>>m;
f[0]=1;
int res=0;
for(long long i=0;i<n;i++){
cin>>w[i];
}
for(long long i=0;i<n;i++){
if(!f[a[i]])res++;
for(long long j=w[i];j<=m;j++){
f[j]+=f[j-w[i]];
}
}
cout<<res;
}
混合背包问题:
二进制处理+特殊处理完全背包over
能量石:
#include<bits/stdc++.h>
using namespace std;
const int N=11000;
typedef struct node{
int s,e,l;
bool operator<(const node& a){
return s*a.l<l*a.s;
}
}node;
node num[N];
int f[N];
int main(){
int t;
cin>>t;
int ww=0;
while(ww<t){
ww++;
int n;
cin>>n;
int m=0;
for(int i=0;i<n;i++){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
num[i]={a,b,c};
m+=a;
}
memset(f,-0x3f,sizeof f);
f[0]=0;
sort(num,num+n);
for(int i=0;i<n;i++){
int s=num[i].s,l=num[i].l,e=num[i].e;
for(int j=m;j>=s;j--){
f[j]=max(f[j],f[j-s]+e-l*(j-s));
}
}
int res=0;
for(int i=0;i<=m;i++)res=max(res,f[i]);
printf("Case #%d: %d\n",ww,res);
}
}
状态机模型,密码设计问题
相关文章:
学习笔记2(Lombok+算法)
Lombok : 介绍: Lombok 是一个在 Java 开发中广泛使用的开源库,它的主要作用是通过注解的方式,减少 Java 代码中大量的样板代码(如 getter、setter、构造函数等),从而让代码更加简洁、易读和易…...
【音视频】SDL简介
官网:官网 文档:文档 SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供数种控制图像、声音、输出入的函数,让开发者只 要用相同或是相似的代码就可以开发出跨多…...
信创系统资产清单采集脚本:主机名+IP+MAC 一键生成 CSV
原文链接:信创系统资产清单采集脚本:主机名IPMAC 一键生成 CSV Hello,大家好啊!今天给大家带来一篇在信创终端操作系统上自动批量采集主机名、IP 和 MAC 并导出为 CSV 表格的实战文章!本方案使用 sshpass 和 Bash 脚本…...
Python爬虫(8)Python数据存储实战:JSON文件读写与复杂结构化数据处理指南
目录 一、背景与核心价值二、JSON基础与核心应用场景2.1 JSON数据结构规则2.2 典型应用场景 三、Python json模块核心操作3.1 基础读写:dump()与load()3.2 字符串与对象的转换:dumps()与loads() 四、处理复杂数据类型4.1 日期时间对象…...
OpenStack私有云详细介绍
引言 企业部署云计算服务的模式有公有云、私有云、混合云三大类。 公有云是云计算服务提供商为公众提供服务的云计算平台,理论上任何人都可以通过授权接入该平台。 私有云是云计算服务提供商为企业在其内部建设的专有云计算系统,私有云系统存在于企业防火…...
6.图的OJ题(1-10,未完)
310. 最小高度树 - 力扣(LeetCode) 分析:n个顶点的无环无向连通图,有n-1条边。 1)任意两点有且只有一条路径 2)路径最远的两顶点必为叶子节点 且根据证明可以得出以下两个性质: 1.最小高度树的根…...
【愚公系列】《Manus极简入门》005-DeepSeek与Manus的创新之处
🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! …...
犬面部检测数据集VOC+YOLO格式987张1类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):987 标注数量(xml文件个数):987 标注数量(txt文件个数):987 标注…...
深入解析MyBatis-Plus中的lambdaUpdate与lambdaQuery
一、引言 在现代Java持久层开发中,MyBatis-Plus作为MyBatis的增强工具,提供了许多便捷的功能,其中lambdaUpdate和lambdaQuery是基于Lambda表达式的两种强大操作方式。它们不仅提高了代码的可读性,还减少了SQL编写错误,…...
OneNet云平台
一、基础信息 设备名称:test1 设备密钥:N1drd3BZc0h0WDNWaXRtdjlFbjUxTHFhTGtWcW1VWjQ 产品ID:EcO4iSzv5b url: 端口号:1883 password:version2018-10-31&resproducts%2FEcO4iSzv5b%2Fdevices%2Fte…...
使用Nestjs, Bun 和 NCC 打造高效的 Node.js 应用构建流程
使用Nestjs, Bun 和 NCC 打造高效的 Node.js 应用构建流程 在现代 Node.js 应用开发中,构建和打包流程的效率对项目的迭代速度和部署效果有着重要影响。本文将介绍如何结合 Nestjs ,Bun 和 NCC 工具,构建出高效且优化的 Node.js 应用。 一、项目构建的…...
迷你世界UGC3.0脚本Wiki组件事件管理
迷你世界UGC3.0脚本Wiki Menu On this page Sidebar Navigation 快速入门 首页 组件介绍 MOD、组件介绍 什么是Lua编程 开发者常见问题 组件介绍 组件函数 组件属性 全局函数 对象介绍 触发器脚本交互 脚本方法 二维表介绍 组件说明 事件 触发器事件管理 组件事件管理 函数库 服…...
多层pcb批量工厂哪家好?
在电子产业高速发展的当下,多层PCB作为硬件设备的核心载体,其品质与交付效率直接影响终端产品的市场竞争力。面对从消费电子到航空航天等领域的多元化需求,选择一家技术过硬、服务灵活且具备规模化生产能力的工厂至关重要。经过对当前行业动态…...
【MQ篇】RabbitMQ之死信交换机!
目录 引言:消息不死,只是变成死信?初识死信交换机:死信从哪来?DLX 干啥的?什么是死信?什么是死信交换机 (DLX)?死信的旅程:如何从队列到达 DLX 并被路由?&…...
CI/CD解决方案TeamCity在游戏开发中的应用价值与优势分析
TeamCity是用于游戏开发的最流行的CI/CD工具之一。从独立开发者到3A工作室和游戏发行商,各种规模的公司都在使用。无论您在制作流程中使用何种工具,TeamCity都支持您为任何的工作流程设置全面的构建-测试-发布管道。 TeamCity如何增强您的游戏开发工作流…...
泰迪杯实战案例超深度解析:运输车辆安全驾驶行为分析与安全评价系统设计
(第七届泰迪杯数据挖掘挑战赛C题特等奖案例解析) 一、案例背景与目标 1.1 应用场景与痛点 在道路运输行业,不良驾驶行为(如急加速、急减速、疲劳驾驶)是引发交通事故的主要诱因,占事故总量的70%以上。某运输企业通过车联网系统采集了450辆运输车辆的高频数据(每秒1条)…...
C++初阶-模板初阶
目录 1.泛型编程 2.函数模板 2.1函数模板概念 2.2实现函数模板 2.3模板的原理 2.4函数模板的实例化 2.4.1隐式实例化 2.4.2显式初始化 2.5模板参数的匹配原则 3.类模板 3.1类模板定义格式 3.2类模板的实例化 4.总结 1.泛型编程 对广泛的类型法写代码,我…...
计算机网络自顶向下思维导图
主要就是记录下自己做的1-6章的思维导图,内容包含了每章每节内的重点内容 可能又错别字以及错误,欢迎指出 需要注意使用的是第七版的书 第一章 第二章 第二章二 第三章 第四章 第五章 第六章...
机器学习-入门-线性模型(1)
机器学习-入门-线性模型(1) 文章目录 机器学习-入门-线性模型(1)3.1 线性回归3.2 最小二乘解3.3 多元线性回归 3.1 线性回归 f ( x i ) w x i b 使得 f ( x i ) ≃ y i f(x_i) wx_i b \quad \text{使得} \quad f(x_i) \simeq y_i f(xi)wxib使得f(xi)≃yi 离散属性…...
Spark-Streaming3
无状态转换操作与有状态转换操作 无状态转换操作: 无状态转换操作仅处理当前时间跨度内的数据。例如,设置的采集时间为三秒,则只处理这三秒内的数据。 有状态转换操作(UpdateStateByKey): 有状态转换操作可以跨批次处理数据。涉及…...
【Pandas】pandas DataFrame rfloordiv
Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象(如 DataFrame、Series 或标量)的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...
【Spark入门】Spark简介:分布式计算框架的演进与定位
目录 1 大数据计算框架的演进历程 1.1 Hadoop MapReduce:第一代分布式计算框架 1.2 Spark的诞生与革新 2 Spark的核心架构与优势 2.1 Spark架构概览 2.2 Spark的核心优势解析 3 Spark的适用场景与定位 3.1 典型应用场景 3.2 技术定位分析 4 Spark与Hadoop…...
基于ArcGIS的洪水淹没分析技术-洪水灾害普查、风险评估及淹没制图中的实践技术
洪水灾害是全球面临的主要自然灾害之一,对人类社会和自然环境造成巨大影响。准确的洪水淹没分析对于灾害预防、风险评估及应急响应至关重要。ArcGIS作为一款强大的地理信息系统软件,在洪水淹没分析领域具有显著优势。ArcGIS的洪水淹没分析主要依赖于其强…...
【数据可视化-38】基于Plotly得泰坦尼克号数据集的多维度可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
数据库MySQL学习——day6(多表查询(JOIN)基础)
文章目录 1、关系型数据库中的表关系2、连接(JOIN)的基本概念3、INNER JOIN(内连接)3.1. 概念3.2. 语法结构 4、LEFT JOIN(左连接)4.1. 概念4.2. 语法结构 5、RIGHT JOIN(右连接)&am…...
Mysql如何高效的查询数据是否存在
文章目录 1. 三种方法2. 查询语句执行流程3. 三种方式对比 1. 三种方法 在业务中,我们有时候需要查询某个数据在数据表中是否存在,常见的方式有三种 SELECT COUNT(*) FORM tb_name WHERE conditionSELECT 1 FROM tb_name WHERE conditionSELECT EXISTS (SELECT 1 FROM tb_nam…...
MySQL快速入门篇---增删改查(下)
目录 一、修改(Update) 1.语法 2.示例 二、删除(Delete) 1.语法 2.示例 三、聚合函数 1.示例 1.1、COUNT 1.2、SUM 1.3、AVG 1.4、MAX 1.5、MIN 四、分组查询(GROUP BY) 1.语法 2.示例 …...
Mysql中隐式内连接和显式内连接的区别
1. 内连接(INNER JOIN) 内连接是数据库中一种常见的连接方式,用于从两个或多个表中返回满足连接条件的记录,即只返回两张表中匹配的行。 示例场景:有学生表(包含学生 ID 和姓名)和成绩表&…...
检测软件系统如何确保稳定运行并剖析本次检测报告?
检测软件系统,能及时找出问题,确保软件稳定运行,保障用户使用体验。下面会具体剖析本次检测报告。 检测概述 本次检测覆盖了系统性能、功能完整性等关键方面。它对软件整体状况做了严格评估。检测时对系统代码展开深度审查。还借助专业工具…...
【Office-Excel】单元格输入数据后自动填充单位
1.自定义设置单元格格式 例如我想输入数字10,回车确认后自动显示10kg。 右击单元格或者快捷键(Ctrl1),选择设置单元格格式,自定义格式输入: 0"kg"格式仍是数字,但是显示是10kg&…...
GAMES202-高质量实时渲染(Real-Time Shadows)
目录 Shadow MappingshadowMapping的问题shadow mapping背后的数学PCF(Percentage Closer Filtering)PCSS(Percentage closer soft shadows)VSSM(Variance Soft Shadow Mapping)优化步骤3优化步骤1SAT&…...
vue+neo4j+flask 音乐知识图谱推荐系统
文章结尾部分有CSDN官方提供的学长 联系方式名片 文章结尾部分有CSDN官方提供的学长 联系方式名片 关注B站,有好处! 编号: F027 架构: vueflaskneo4jmysql 亮点:协同过滤推荐算法知识图谱可视化 支持爬取音乐数据,数据超过3万条&…...
JavaScript 中 undefined 和 not defined 的区别
在 JavaScript 的调试过程中,你是否经常看到 undefined 却不知其来源?是否曾被 ReferenceError: xxx is not defined 的错误提示困扰?这两个看似相似的概念,实际上是 JavaScript 类型系统中最重要的分水岭。本文将带你拨开迷雾&am…...
设计一个新能源汽车控制系统开发框架,并提供一个符合ISO 26262标准的模块化设计方案。
今天,设计一个新能源汽车控制系统开发框架,并提供一个符合ISO 26262标准的模块化设计方案。以下为经过工业验证的技术方案: 一、系统架构设计 采用AUTOSAR Adaptive平台构建分布式系统,核心模块包括: 车辆控制单元(VC…...
基于STM32、HAL库的HX710A模数转换器ADC驱动程序设计
一、简介: HX710A是一款高精度24位模数转换器(ADC)芯片,专为电子秤和其他高精度测量应用设计。它通常与称重传感器(如应变片)配合使用,具有以下特点: 24位无失码精度 可编程增益:128或64 内置低噪声可编程放大器 片上稳压器,可直接为传感器供电 简单的数字接口(时钟+数据…...
python合并一个word段落中的run
在python-docx中,一个段落可以包含多个Run对象,每个Run对象可以具有不同的样式。如果你希望将一个段落中的所有Run对象合并为一个Run对象,同时保留所有文本内容,可以通过以下步骤实现: 合并Run对象的方法 遍历段落的…...
pytorch搭建并训练神经网络
#从小白开始学习人工智能# #学习笔记# 工具:pytorch 一、基础概念 1.神经网络是什么? 神经网络是人类受到生物神经细胞结构启发而研究出的算法体系。又称为人工神经网络(Artificial neural network) 最简版神经网络结构图&a…...
GCC 内建函数汇编展开详解
1. 引言 GNU 编译器集合(GCC)是广泛使用的开源编译器套件,支持多种编程语言,其中 C 语言编译器是其核心组件之一。在 C 语言编译过程中,GCC 不仅处理用户编写的标准 C 代码,还提供了一类特殊的函数——内建…...
iOS自定义电池电量显示控件 BatteryView 实现
iOS自定义电池视图:BatteryView 传送门:Android自定义电池电量显示控件 BatteryView 实现 在iOS开发中,自定义视图是提升用户体验的重要手段之一。本文将介绍如何通过Swift语言实现一个自定义的电池视图(BatteryView),并展示其功能和使用方法。 1. 功能概述 BatteryVi…...
LeetCode -- Flora -- edit 2025-04-27
1.接雨水 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,…...
00-算法打卡-目录
1 数组 01-算法打卡-数组-二分查找-leetcode(704)-第一天-CSDN博客 02-算法打卡-数组-二分查找-leetcode(35)-第二天-CSDN博客 03-算法打卡-数组-二分查找-leetcode(34)-第三天_leetcode 34-CSDN博客 04-算法打卡-数组-二分查找-leetcode(69)-第四天-CSDN博客 05-算法打卡-数组…...
Vue2 与 Vue3 深度对比与技术解析
引言 Vue.js 是由尤雨溪创立的渐进式(progressive)JavaScript框架,自 2014 年发布以来,以其简单易用和灵活扩展性得到广泛应用。在 Vue2 的时代,它已经成为构建单页应用(SPA)和组件化开发的主流…...
Linux-UDP套接字编程
一.认识IP地址 IP 协议有两个版本, IPv4 和 IPv6. 我们之后凡是提到 IP 协议, 没有特殊说明的,默认都是指 IPv4。 IP 地址是在 IP 协议中, 用来标识网络中不同主机的地址;对于 IPv4 来说, IP 地址是一个 4 字节, 32 位的整数;我们通常也使用 "点分十进制" 的字符串表…...
tsconfig.json和tsconfig.node.json和tsconfig.app.json有什么区别
通过pnpm i vite 生成vue3项目时,会生成三个ts配置文件,分别是什么作用呢? 在Vue 3项目中,tsconfig.json、tsconfig.node.json和tsconfig.app.json是三个不同的TypeScript配置文件,它们分别用于不同的场景和目的。其中tsconfig.n…...
机器学习——Seaborn练习题
1、使用tips数据集,创建一个展示不同时间段(午餐/晚餐)账单总额分布的箱线图 import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as pdplt.rcParams["font.sans-serif"] ["SimHei"] plt.rcParams[&qu…...
Spring XML 外部实体(XXE)指南:示例和预防
什么是XXE? XML 文档遵循特定的标准。该标准强调了 XML 文档的构造方式,概述了有效 XML 文档与无效 XML 文档的区别等等。 该标准还指定了一个称为“实体”的术语。实体是某些内容的占位符。 实体可以是内部的,也可以是外部的(就像我们的情况一样)。 实体通过系统标识…...
C语言(3)—分支和循环
文章目录 一、程序的基本结构二、分支结构1. if语句2. if-else语句 三、关系与逻辑运算符1. 关系运算符2. 逻辑运算符 四、条件运算符(三目运算符)五、switch语句六、循环结构1. while循环2. for循环 七、循环控制语句1. break2. continue 八、循环嵌套九…...
【MCP】从一个天气查询服务带你了解MCP
1. 前言 这篇文章将通过一个集成高德天气查询的 MCP Server 用例,带你上手开发自己的 MCP Server ,文章将通过以下三种方式(自己编写 Client 端代码,使用 mcp-cli 自带页面,集成到 Claude 桌面版等)带你测试自己的 MC…...
【Leetcode 每日一题】3392. 统计符合条件长度为 3 的子数组数目
问题背景 给你一个整数数组 n u m s nums nums,请你返回长度为 3 3 3 的 子数组,满足第一个数和第三个数的和恰好为第二个数的一半。 子数组 指的是一个数组中连续 非空 的元素序列。 数据约束 3 ≤ n u m s . l e n g t h ≤ 100 3 \le nums.length…...
SALOME源码分析:Geomtry模块
本文分析SALOME Geometry模块。 一、核心组件 1.1 GeometryGUI 二、关键流程 三、插件 3.1 插件接口 GEOMPluginGUI定义了Geometry可以加载的插件接口。 3.2 插件列表 插件命令描述 BasicGUI BlocksGUI BooleanGUI BuildGUI DisplayGUI EntityGUI GenerationGUI GEOM…...