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

【2024年华为OD机试】(C卷,100分)- 分割均衡字符串 (Java JS PythonC/C++)

在这里插入图片描述

一、问题描述

题目描述

均衡串定义:字符串中只包含两种字符,且这两种字符的个数相同。

给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。

约定:字符串中只包含大写的 XY 两种字符。

输入描述

输入一个均衡串。

字符串的长度:[2, 10000]。
给定的字符串均为均衡字符串

输出描述

输出可分割成新的均衡子串的最大个数。

备注

分割后的子串,是原字符串的连续子串

用例

用例 1

输入:

XXYYXY

输出:

2

说明:
XXYYXY 可分割为 2 个均衡子串,分别为:XXYYXY

题目解析

本题要求分割出最多的均衡子串,含义其实是分割出来的均衡子串无法再分解。

例如,用例 “XXYYXY” 分解出来的两个子串 “XXYY” 和 “XY” 都是无法再次分解出均衡子串的。

如果我们从一个均衡串中取走一个均衡子串,则均衡串剩余部分依旧是一个均衡串,因为取走的均衡子串中 XY 的数量是相等的,因此均衡串剩余部分的 XY 数量也一定是相等的,满足均衡串要求。

因此,本题我们只需要从左往右扫描输入的均衡串每个字符即可,统计扫描过程中,X 字符和 Y 字符的数量,每当两种字符数量相等时,则说明遇到了一个不可分解的均衡子串。

详细步骤

  1. 初始化计数器

    • 使用两个计数器 countXcountY 分别记录 XY 的数量。
    • 使用一个计数器 result 记录不可分解的均衡子串的数量。
  2. 扫描字符串

    • 从左往右遍历输入的均衡串。
    • 对于每个字符,如果是 X,则 countX 加 1;如果是 Y,则 countY 加 1。
  3. 检查均衡条件

    • 每次更新计数器后,检查 countXcountY 是否相等。
    • 如果相等,则说明遇到了一个不可分解的均衡子串,result 加 1,并重置 countXcountY 为 0,继续扫描剩余部分。
  4. 输出结果

    • 遍历结束后,输出 result,即不可分解的均衡子串的数量。

在这里插入图片描述

用例解释

用例 1
  • 输入:
    • XXYYXY
  • 输出:
    • 2

解释

  • 遍历字符串 XXYYXY
    • X -> countX = 1
    • X -> countX = 2
    • Y -> countY = 1
    • Y -> countY = 2,此时 countX == countY,遇到一个均衡子串 XXYYresult = 1,重置 countX = 0countY = 0
    • X -> countX = 1
    • Y -> countY = 1,此时 countX == countY,遇到一个均衡子串 XYresult = 2,重置 countX = 0countY = 0
  • 最终结果为 2

通过上述步骤,我们可以高效地求出可分割成新的均衡子串的最大个数。这种方法的时间复杂度为 O(n),其中 n 是字符串的长度。

二、JavaScript算法源码

以下是 JavaScript 代码 的详细中文注释和逻辑讲解:


JavaScript 代码

// 引入 readline 模块,用于从控制台读取输入
const rl = require("readline").createInterface({ input: process.stdin });// 获取异步迭代器
var iter = rl[Symbol.asyncIterator]();// 定义异步函数 readline,用于读取一行输入
const readline = async () => (await iter.next()).value;// 立即执行异步函数
void (async function () {const s = await readline(); // 从控制台读取输入字符串 slet countX = 0; // 统计字符 'X' 的数量let countY = 0; // 统计字符 'Y' 的数量let ans = 0; // 记录满足条件的子串数量// 遍历字符串 s 中的每个字符for (let c of s) {if (c == "X") {countX++; // 如果字符是 'X',增加 countX} else {countY++; // 如果字符是 'Y',增加 countY}// 如果当前 'X' 和 'Y' 的数量相等,说明找到一个满足条件的子串if (countX == countY) {ans++; // 增加结果计数}}console.log(ans); // 输出结果
})();

代码逻辑讲解

1. 输入处理
  • 使用 readline 模块从控制台读取输入字符串 s
  • readline 是一个异步函数,通过 await 等待输入完成。

2. 统计字符数量
  • 定义两个变量:
    • countX:统计字符 'X' 的数量。
    • countY:统计字符 'Y' 的数量。
  • 遍历字符串 s 中的每个字符:
    • 如果字符是 'X',增加 countX
    • 如果字符是 'Y',增加 countY

3. 判断满足条件的子串
  • 在遍历过程中,每当 countXcountY 相等时:
    • 说明从字符串开头到当前位置的子串中,'X''Y' 的数量相等。
    • 增加结果计数 ans

4. 输出结果
  • 遍历结束后,输出满足条件的子串数量 ans

示例验证

示例 1:s = “XY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
  • 结果:
    • ans = 1(子串 "XY" 满足条件)。
示例 2:s = “XXYY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'X'countX = 2countY = 0
    • 字符 'Y'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 1(子串 "XXYY" 满足条件)。
示例 3:s = “XYXY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
    • 字符 'X'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 2(子串 "XY""XYXY" 满足条件)。

总结

  • 功能:统计字符串 s 中满足 'X''Y' 数量相等的子串数量。
  • 核心逻辑
    1. 遍历字符串,统计 'X''Y' 的数量。
    2. 每当 'X''Y' 的数量相等时,增加结果计数。
  • 适用场景:需要统计字符串中满足某种字符数量关系的子串数量。
  • 注意事项
    • 输入字符串只能包含 'X''Y'
    • 如果字符串为空,结果为 0

如果有其他问题,欢迎随时提问!

三、Java算法源码

以下是 Java 代码 的详细中文注释和逻辑讲解:


Java 代码

import java.util.Scanner; // 引入 Scanner 类,用于从控制台读取输入public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in); // 创建 Scanner 对象,用于读取输入String s = sc.nextLine(); // 从控制台读取一行输入,存储到字符串 s 中int countX = 0; // 统计字符 'X' 的数量int countY = 0; // 统计字符 'Y' 的数量int ans = 0; // 记录满足条件的子串数量// 遍历字符串 s 中的每个字符for (int i = 0; i < s.length(); i++) {if (s.charAt(i) == 'X') {countX++; // 如果当前字符是 'X',增加 countX} else {countY++; // 如果当前字符是 'Y',增加 countY}// 如果当前 'X' 和 'Y' 的数量相等,说明找到一个满足条件的子串if (countX == countY) {ans++; // 增加结果计数}}System.out.println(ans); // 输出结果}
}

代码逻辑讲解

1. 输入处理
  • 使用 Scanner 类从控制台读取输入字符串 s
  • sc.nextLine() 用于读取一行输入,并将其存储到字符串 s 中。

2. 统计字符数量
  • 定义两个变量:
    • countX:统计字符 'X' 的数量。
    • countY:统计字符 'Y' 的数量。
  • 遍历字符串 s 中的每个字符:
    • 使用 s.charAt(i) 获取当前字符。
    • 如果字符是 'X',增加 countX
    • 如果字符是 'Y',增加 countY

3. 判断满足条件的子串
  • 在遍历过程中,每当 countXcountY 相等时:
    • 说明从字符串开头到当前位置的子串中,'X''Y' 的数量相等。
    • 增加结果计数 ans

4. 输出结果
  • 遍历结束后,输出满足条件的子串数量 ans

示例验证

示例 1:s = “XY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
  • 结果:
    • ans = 1(子串 "XY" 满足条件)。
示例 2:s = “XXYY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'X'countX = 2countY = 0
    • 字符 'Y'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 1(子串 "XXYY" 满足条件)。
示例 3:s = “XYXY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
    • 字符 'X'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 2(子串 "XY""XYXY" 满足条件)。

总结

  • 功能:统计字符串 s 中满足 'X''Y' 数量相等的子串数量。
  • 核心逻辑
    1. 遍历字符串,统计 'X''Y' 的数量。
    2. 每当 'X''Y' 的数量相等时,增加结果计数。
  • 适用场景:需要统计字符串中满足某种字符数量关系的子串数量。
  • 注意事项
    • 输入字符串只能包含 'X''Y'
    • 如果字符串为空,结果为 0

如果有其他问题,欢迎随时提问!

四、Python算法源码

以下是 Python 代码 的详细中文注释和逻辑讲解:


Python 代码

# 输入获取
s = input()  # 从控制台读取一行输入,存储到字符串 s 中# 算法入口
def getResult():countX = 0  # 统计字符 'X' 的数量countY = 0  # 统计字符 'Y' 的数量ans = 0  # 记录满足条件的子串数量# 遍历字符串 s 中的每个字符for c in s:if c == 'X':countX += 1  # 如果当前字符是 'X',增加 countXelse:countY += 1  # 如果当前字符是 'Y',增加 countY# 如果当前 'X' 和 'Y' 的数量相等,说明找到一个满足条件的子串if countX == countY:ans += 1  # 增加结果计数return ans  # 返回满足条件的子串数量# 算法调用
print(getResult())  # 输出结果

代码逻辑讲解

1. 输入处理
  • 使用 input() 函数从控制台读取一行输入,并将其存储到字符串 s 中。

2. 统计字符数量
  • 定义两个变量:
    • countX:统计字符 'X' 的数量。
    • countY:统计字符 'Y' 的数量。
  • 遍历字符串 s 中的每个字符:
    • 如果字符是 'X',增加 countX
    • 如果字符是 'Y',增加 countY

3. 判断满足条件的子串
  • 在遍历过程中,每当 countXcountY 相等时:
    • 说明从字符串开头到当前位置的子串中,'X''Y' 的数量相等。
    • 增加结果计数 ans

4. 输出结果
  • 调用 getResult() 函数,计算满足条件的子串数量。
  • 使用 print() 函数输出结果。

示例验证

示例 1:s = “XY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
  • 结果:
    • ans = 1(子串 "XY" 满足条件)。
示例 2:s = “XXYY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'X'countX = 2countY = 0
    • 字符 'Y'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 1(子串 "XXYY" 满足条件)。
示例 3:s = “XYXY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
    • 字符 'X'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 2(子串 "XY""XYXY" 满足条件)。

总结

  • 功能:统计字符串 s 中满足 'X''Y' 数量相等的子串数量。
  • 核心逻辑
    1. 遍历字符串,统计 'X''Y' 的数量。
    2. 每当 'X''Y' 的数量相等时,增加结果计数。
  • 适用场景:需要统计字符串中满足某种字符数量关系的子串数量。
  • 注意事项
    • 输入字符串只能包含 'X''Y'
    • 如果字符串为空,结果为 0

如果有其他问题,欢迎随时提问!

五、C/C++算法源码:

以下是 C 代码 的详细中文注释和逻辑讲解:


C 代码

#include <stdio.h>  // 引入标准输入输出库int main() {char s[10001];  // 定义一个字符数组 s,用于存储输入的字符串scanf("%s", s); // 从控制台读取字符串,存储到数组 s 中int countX = 0; // 统计字符 'X' 的数量int countY = 0; // 统计字符 'Y' 的数量int ans = 0;    // 记录满足条件的子串数量int i = 0;      // 定义索引变量 i,用于遍历字符串while (s[i] != '\0') {  // 遍历字符串,直到遇到字符串结束符 '\0'if (s[i] == 'X') {countX++; // 如果当前字符是 'X',增加 countX} else {countY++; // 如果当前字符是 'Y',增加 countY}if (countX == countY) {ans++; // 如果当前 'X' 和 'Y' 的数量相等,增加结果计数}i++; // 移动到下一个字符}printf("%d\n", ans); // 输出结果return 0; // 程序正常结束
}

代码逻辑讲解

1. 输入处理
  • 定义一个字符数组 s,用于存储输入的字符串。
  • 使用 scanf("%s", s) 从控制台读取字符串,并将其存储到数组 s 中。

2. 统计字符数量
  • 定义两个变量:
    • countX:统计字符 'X' 的数量。
    • countY:统计字符 'Y' 的数量。
  • 使用 while 循环遍历字符串 s 中的每个字符:
    • 使用 s[i] 获取当前字符。
    • 如果字符是 'X',增加 countX
    • 如果字符是 'Y',增加 countY

3. 判断满足条件的子串
  • 在遍历过程中,每当 countXcountY 相等时:
    • 说明从字符串开头到当前位置的子串中,'X''Y' 的数量相等。
    • 增加结果计数 ans

4. 输出结果
  • 使用 printf("%d\n", ans) 输出满足条件的子串数量。

示例验证

示例 1:s = “XY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
  • 结果:
    • ans = 1(子串 "XY" 满足条件)。
示例 2:s = “XXYY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'X'countX = 2countY = 0
    • 字符 'Y'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 1(子串 "XXYY" 满足条件)。
示例 3:s = “XYXY”
  • 遍历过程:
    • 字符 'X'countX = 1countY = 0
    • 字符 'Y'countX = 1countY = 1
    • 字符 'X'countX = 2countY = 1
    • 字符 'Y'countX = 2countY = 2
  • 结果:
    • ans = 2(子串 "XY""XYXY" 满足条件)。

总结

  • 功能:统计字符串 s 中满足 'X''Y' 数量相等的子串数量。
  • 核心逻辑
    1. 遍历字符串,统计 'X''Y' 的数量。
    2. 每当 'X''Y' 的数量相等时,增加结果计数。
  • 适用场景:需要统计字符串中满足某种字符数量关系的子串数量。
  • 注意事项
    • 输入字符串只能包含 'X''Y'
    • 如果字符串为空,结果为 0

如果有其他问题,欢迎随时提问!

相关文章:

【2024年华为OD机试】(C卷,100分)- 分割均衡字符串 (Java JS PythonC/C++)

一、问题描述 题目描述 均衡串定义&#xff1a;字符串中只包含两种字符&#xff0c;且这两种字符的个数相同。 给定一个均衡字符串&#xff0c;请给出可分割成新的均衡子串的最大个数。 约定&#xff1a;字符串中只包含大写的 X 和 Y 两种字符。 输入描述 输入一个均衡串…...

Spring Data Elasticsearch简介

一、Spring Data Elasticsearch简介 1 SpringData ElasticSearch简介 Elasticsearch是一个实时的分布式搜索和分析引擎。它底层封装了Lucene框架,可以提供分布式多用户的全文搜索服务。 Spring Data ElasticSearch是SpringData技术对ElasticSearch原生API封装之后的产物,它通…...

GESP202312 四级【小杨的字典】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202312 四级] 小杨的字典 题目描述 在遥远的星球&#xff0c;有两个国家 A 国和 B 国&#xff0c;他们使用着不同的语言&#xff1a;A 语言和 B 语言。小杨是 B 国的翻译官&#xff0c;他的工作是将 A 语言的文章翻译成 B 语言的文章…...

键盘过滤驱动

文章目录 概述注意源码参考资料 概述 irp请求会从io管理器中传递到设备栈中依次向下发送&#xff0c;当到达底层真实设备处理完成后&#xff0c;会依次返回&#xff0c;这时如果在设备栈中有我们自己注册的设备&#xff0c;就可以起到一个过滤的功能。键盘过滤驱动就是如此&am…...

dolphinscheduler2.0.9升级3.1.9版本问题记录

相关版本说明 JDK&#xff1a;JDK (1.8&#xff09; DolphinScheduler &#xff1a;3.1.9 数据库&#xff1a;MySQL (8)&#xff0c;驱动&#xff1a;MySQL JDBC Driver 8.0.16 注册中心&#xff1a;ZooKeeper (3.8.4) 问题一&#xff1a;dolphinscheduler2.0.9对应zk版本使用…...

【权限管理】Apache Shiro学习教程

Apache Shiro 是一个功能强大且灵活的安全框架&#xff0c;主要用于身份认证&#xff08;Authentication&#xff09;、授权&#xff08;Authorization&#xff09;、会话管理&#xff08;Session Management&#xff09;和加密&#xff08;Cryptography&#xff09;。它旨在为…...

9.4 visualStudio 2022 配置 cuda 和 torch (c++)

一、配置torch 1.Libtorch下载 该内容看了【Libtorch 一】libtorchwin10环境配置_vsixtorch-CSDN博客的博客&#xff0c;作为笔记用。我自己搭建后可以正常运行。 下载地址为windows系统下各种LibTorch下载地址_libtorch 百度云-CSDN博客 下载解压后的目录为&#xff1a; 2.vs…...

python特殊参数

一、默认值参数和关键字参数 1.默认值参数 形参设定默认值 称为 默认参数。调用函数时&#xff0c;可以使用比定义时更少的参数。调用函数时&#xff0c;如果没有传入默认参数对应的实参&#xff0c;则实参使用默认值默认参数在调用的时候可以不传递&#xff0c;也可以传递 …...

Ubuntu系统Qt的下载、安装及入门使用,图文详细,内容全面

文章目录 说明1 在线安装2 离线安装3 使用Qt Creator创建Qt应用程序并构建运行补充补充一&#xff1a;注册Qt账号 说明 本文讲解Ubuntu系统下安装Qt&#xff0c;包括在线安装和离线安装两种方式&#xff0c;内容充实细致&#xff0c;话多但是没有多余&#xff08;不要嫌我啰嗦…...

elasticsearch集群部署

一、创建 elasticsearch-cluster 文件夹 创建 elasticsearch-7.6.2-cluster文件夹 修改服务es服务文件夹为node-001 修改config/elasticsearch.yml 配置文件 # Elasticsearch Configuration # # NOTE: Elasticsearch comes with reasonable defaults for most settings. # …...

初学stm32 --- DAC模数转换器工作原理

目录 什么是DAC&#xff1f; DAC的特性参数 STM32各系列DAC的主要特性 DAC框图简介&#xff08;F1/F4/F7&#xff09; 参考电压/模拟部分电压 触发源 关闭触发时(TEN0)的转换时序图 DMA请求 DAC输出电压 什么是DAC&#xff1f; DAC&#xff0c;全称&#xff1a;Digital…...

保证Mysql数据库到ES的数据一致性的解决方案

文章目录 1.业务场景介绍1.1 需求分析1.2 技术实现方案 2.业界常用数据一致性方案分析2.1 同步双写方案2.2 MQ异步双写方案2.3 扫表定期同步方案2.4 监听binlog同步方案 1.业务场景介绍 1.1 需求分析 某知名的在线旅游平台&#xff0c;在即将到来的春季促销活动之前&#xff…...

Flutter Xcode 16+ iOS 18.1 使用image_pickers无法弹出选择图片的视图问题

解决 Flutter Xcode 16 使用 image_pickers 无法弹出选择图片视图的问题 在开发 Flutter 应用时&#xff0c;图片选择功能是常见的需求之一。image_pickers 库因其便捷性和功能丰富性&#xff0c;成为了许多开发者的选择。然而&#xff0c;随着 Xcode 版本的不断更新&#xff…...

socket网络编程-TC/IP方式

网络编程 1.概念&#xff1a;两台设备之间通过网络数据传输。 2.网络通信&#xff1a;将数据通过网络从一台设备传输另外一台设备。 3.java.net包下提供了一系列的类和接口&#xff0c;提供程序员使用&#xff0c;完成网络通信。 TCP和UDP TCP协议&#xff1a; 1.使用TCP协…...

《分布式光纤测温:解锁楼宇安全的 “高精度密码”》

在楼宇建筑中&#xff0c;因其内部空间庞大&#xff0c;各类电器设施众多&#xff0c;如何以一种既高效又稳定&#xff0c;兼具低成本与高覆盖特性的方式&#xff0c;为那些关键线路节点开展温度监测&#xff0c;是目前在安全监测领域一项重点研究项目&#xff0c;而无锡布里渊…...

C语言基本知识复习浓缩版:数组

所谓数组&#xff08;Array&#xff09;&#xff0c;就是一系列数据的集合。这些数据具有相同的类型&#xff0c;并且在内存中挨着存放&#xff0c;彼此之间没有缝隙。换句话说&#xff0c;数组用来存放多份数据&#xff0c;但是它有两个要求&#xff1a; 这些数据的类型必须相…...

Python贪心

贪心 贪心&#xff1a;把整体问题分解成多个步骤&#xff0c;在每个步骤都选取当前步骤的最优方案&#xff0c;直至所有步骤结束&#xff1b;每个步骤不会影响后续步骤核心性质&#xff1a;每次采用局部最优&#xff0c;最终结果就是全局最优如果题目满足上述核心性质&#xf…...

rk3568 内核态OOM内存泄漏kmemleak使用

1&#xff0c;配置&#xff0c;修改\kernel\arch\arm64\configs\rockchip_linux_defconfig&#xff0c;修改后查看.config. larkubuntu:~/Public/rk356x-linux/rk356x-linux/kernel$ cat .config | grep -i kmemleak CONFIG_HAVE_DEBUG_KMEMLEAKy CONFIG_DEBUG_KMEMLEAKy CONFI…...

ASP.NET Core - 日志记录系统(二)

ASP.NET Core - 日志记录系统&#xff08;二&#xff09; 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲&#xff0c;所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…...

阿里云直播互动Web

官方文档&#xff1a;互动消息Web端集成方法_视频直播(LIVE)-阿里云帮助中心 以下是代码实现&#xff1a; <!-- 引入阿里云互动文件 --> <script src"https://g.alicdn.com/code/lib/jquery/3.7.1/jquery.min.js"></script> <script src&quo…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...