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

一、问题描述
题目描述
均衡串定义:字符串中只包含两种字符,且这两种字符的个数相同。
给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。
约定:字符串中只包含大写的 X 和 Y 两种字符。
输入描述
输入一个均衡串。
字符串的长度:[2, 10000]。
给定的字符串均为均衡字符串
输出描述
输出可分割成新的均衡子串的最大个数。
备注
分割后的子串,是原字符串的连续子串
用例
用例 1
输入:
XXYYXY
输出:
2
说明:
XXYYXY 可分割为 2 个均衡子串,分别为:XXYY、XY
题目解析
本题要求分割出最多的均衡子串,含义其实是分割出来的均衡子串无法再分解。
例如,用例 “XXYYXY” 分解出来的两个子串 “XXYY” 和 “XY” 都是无法再次分解出均衡子串的。
如果我们从一个均衡串中取走一个均衡子串,则均衡串剩余部分依旧是一个均衡串,因为取走的均衡子串中 X 和 Y 的数量是相等的,因此均衡串剩余部分的 X 和 Y 数量也一定是相等的,满足均衡串要求。
因此,本题我们只需要从左往右扫描输入的均衡串每个字符即可,统计扫描过程中,X 字符和 Y 字符的数量,每当两种字符数量相等时,则说明遇到了一个不可分解的均衡子串。
详细步骤
-
初始化计数器:
- 使用两个计数器
countX和countY分别记录X和Y的数量。 - 使用一个计数器
result记录不可分解的均衡子串的数量。
- 使用两个计数器
-
扫描字符串:
- 从左往右遍历输入的均衡串。
- 对于每个字符,如果是
X,则countX加 1;如果是Y,则countY加 1。
-
检查均衡条件:
- 每次更新计数器后,检查
countX和countY是否相等。 - 如果相等,则说明遇到了一个不可分解的均衡子串,
result加 1,并重置countX和countY为 0,继续扫描剩余部分。
- 每次更新计数器后,检查
-
输出结果:
- 遍历结束后,输出
result,即不可分解的均衡子串的数量。
- 遍历结束后,输出

用例解释
用例 1
- 输入:
XXYYXY
- 输出:
2
解释:
- 遍历字符串
XXYYXY:X->countX = 1X->countX = 2Y->countY = 1Y->countY = 2,此时countX == countY,遇到一个均衡子串XXYY,result = 1,重置countX = 0,countY = 0X->countX = 1Y->countY = 1,此时countX == countY,遇到一个均衡子串XY,result = 2,重置countX = 0,countY = 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. 判断满足条件的子串
- 在遍历过程中,每当
countX和countY相等时:- 说明从字符串开头到当前位置的子串中,
'X'和'Y'的数量相等。 - 增加结果计数
ans。
- 说明从字符串开头到当前位置的子串中,
4. 输出结果
- 遍历结束后,输出满足条件的子串数量
ans。
示例验证
示例 1:s = “XY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。
- 字符
- 结果:
ans = 1(子串"XY"满足条件)。
示例 2:s = “XXYY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'X':countX = 2,countY = 0。 - 字符
'Y':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 1(子串"XXYY"满足条件)。
示例 3:s = “XYXY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。 - 字符
'X':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 2(子串"XY"和"XYXY"满足条件)。
总结
- 功能:统计字符串
s中满足'X'和'Y'数量相等的子串数量。 - 核心逻辑:
- 遍历字符串,统计
'X'和'Y'的数量。 - 每当
'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. 判断满足条件的子串
- 在遍历过程中,每当
countX和countY相等时:- 说明从字符串开头到当前位置的子串中,
'X'和'Y'的数量相等。 - 增加结果计数
ans。
- 说明从字符串开头到当前位置的子串中,
4. 输出结果
- 遍历结束后,输出满足条件的子串数量
ans。
示例验证
示例 1:s = “XY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。
- 字符
- 结果:
ans = 1(子串"XY"满足条件)。
示例 2:s = “XXYY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'X':countX = 2,countY = 0。 - 字符
'Y':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 1(子串"XXYY"满足条件)。
示例 3:s = “XYXY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。 - 字符
'X':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 2(子串"XY"和"XYXY"满足条件)。
总结
- 功能:统计字符串
s中满足'X'和'Y'数量相等的子串数量。 - 核心逻辑:
- 遍历字符串,统计
'X'和'Y'的数量。 - 每当
'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. 判断满足条件的子串
- 在遍历过程中,每当
countX和countY相等时:- 说明从字符串开头到当前位置的子串中,
'X'和'Y'的数量相等。 - 增加结果计数
ans。
- 说明从字符串开头到当前位置的子串中,
4. 输出结果
- 调用
getResult()函数,计算满足条件的子串数量。 - 使用
print()函数输出结果。
示例验证
示例 1:s = “XY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。
- 字符
- 结果:
ans = 1(子串"XY"满足条件)。
示例 2:s = “XXYY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'X':countX = 2,countY = 0。 - 字符
'Y':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 1(子串"XXYY"满足条件)。
示例 3:s = “XYXY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。 - 字符
'X':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 2(子串"XY"和"XYXY"满足条件)。
总结
- 功能:统计字符串
s中满足'X'和'Y'数量相等的子串数量。 - 核心逻辑:
- 遍历字符串,统计
'X'和'Y'的数量。 - 每当
'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. 判断满足条件的子串
- 在遍历过程中,每当
countX和countY相等时:- 说明从字符串开头到当前位置的子串中,
'X'和'Y'的数量相等。 - 增加结果计数
ans。
- 说明从字符串开头到当前位置的子串中,
4. 输出结果
- 使用
printf("%d\n", ans)输出满足条件的子串数量。
示例验证
示例 1:s = “XY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。
- 字符
- 结果:
ans = 1(子串"XY"满足条件)。
示例 2:s = “XXYY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'X':countX = 2,countY = 0。 - 字符
'Y':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 1(子串"XXYY"满足条件)。
示例 3:s = “XYXY”
- 遍历过程:
- 字符
'X':countX = 1,countY = 0。 - 字符
'Y':countX = 1,countY = 1。 - 字符
'X':countX = 2,countY = 1。 - 字符
'Y':countX = 2,countY = 2。
- 字符
- 结果:
ans = 2(子串"XY"和"XYXY"满足条件)。
总结
- 功能:统计字符串
s中满足'X'和'Y'数量相等的子串数量。 - 核心逻辑:
- 遍历字符串,统计
'X'和'Y'的数量。 - 每当
'X'和'Y'的数量相等时,增加结果计数。
- 遍历字符串,统计
- 适用场景:需要统计字符串中满足某种字符数量关系的子串数量。
- 注意事项:
- 输入字符串只能包含
'X'和'Y'。 - 如果字符串为空,结果为
0。
- 输入字符串只能包含
如果有其他问题,欢迎随时提问!
相关文章:
【2024年华为OD机试】(C卷,100分)- 分割均衡字符串 (Java JS PythonC/C++)
一、问题描述 题目描述 均衡串定义:字符串中只包含两种字符,且这两种字符的个数相同。 给定一个均衡字符串,请给出可分割成新的均衡子串的最大个数。 约定:字符串中只包含大写的 X 和 Y 两种字符。 输入描述 输入一个均衡串…...
Spring Data Elasticsearch简介
一、Spring Data Elasticsearch简介 1 SpringData ElasticSearch简介 Elasticsearch是一个实时的分布式搜索和分析引擎。它底层封装了Lucene框架,可以提供分布式多用户的全文搜索服务。 Spring Data ElasticSearch是SpringData技术对ElasticSearch原生API封装之后的产物,它通…...
GESP202312 四级【小杨的字典】题解(AC)
》》》点我查看「视频」详解》》》 [GESP202312 四级] 小杨的字典 题目描述 在遥远的星球,有两个国家 A 国和 B 国,他们使用着不同的语言:A 语言和 B 语言。小杨是 B 国的翻译官,他的工作是将 A 语言的文章翻译成 B 语言的文章…...
键盘过滤驱动
文章目录 概述注意源码参考资料 概述 irp请求会从io管理器中传递到设备栈中依次向下发送,当到达底层真实设备处理完成后,会依次返回,这时如果在设备栈中有我们自己注册的设备,就可以起到一个过滤的功能。键盘过滤驱动就是如此&am…...
dolphinscheduler2.0.9升级3.1.9版本问题记录
相关版本说明 JDK:JDK (1.8) DolphinScheduler :3.1.9 数据库:MySQL (8),驱动:MySQL JDBC Driver 8.0.16 注册中心:ZooKeeper (3.8.4) 问题一:dolphinscheduler2.0.9对应zk版本使用…...
【权限管理】Apache Shiro学习教程
Apache Shiro 是一个功能强大且灵活的安全框架,主要用于身份认证(Authentication)、授权(Authorization)、会话管理(Session Management)和加密(Cryptography)。它旨在为…...
9.4 visualStudio 2022 配置 cuda 和 torch (c++)
一、配置torch 1.Libtorch下载 该内容看了【Libtorch 一】libtorchwin10环境配置_vsixtorch-CSDN博客的博客,作为笔记用。我自己搭建后可以正常运行。 下载地址为windows系统下各种LibTorch下载地址_libtorch 百度云-CSDN博客 下载解压后的目录为: 2.vs…...
python特殊参数
一、默认值参数和关键字参数 1.默认值参数 形参设定默认值 称为 默认参数。调用函数时,可以使用比定义时更少的参数。调用函数时,如果没有传入默认参数对应的实参,则实参使用默认值默认参数在调用的时候可以不传递,也可以传递 …...
Ubuntu系统Qt的下载、安装及入门使用,图文详细,内容全面
文章目录 说明1 在线安装2 离线安装3 使用Qt Creator创建Qt应用程序并构建运行补充补充一:注册Qt账号 说明 本文讲解Ubuntu系统下安装Qt,包括在线安装和离线安装两种方式,内容充实细致,话多但是没有多余(不要嫌我啰嗦…...
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? DAC的特性参数 STM32各系列DAC的主要特性 DAC框图简介(F1/F4/F7) 参考电压/模拟部分电压 触发源 关闭触发时(TEN0)的转换时序图 DMA请求 DAC输出电压 什么是DAC? DAC,全称:Digital…...
保证Mysql数据库到ES的数据一致性的解决方案
文章目录 1.业务场景介绍1.1 需求分析1.2 技术实现方案 2.业界常用数据一致性方案分析2.1 同步双写方案2.2 MQ异步双写方案2.3 扫表定期同步方案2.4 监听binlog同步方案 1.业务场景介绍 1.1 需求分析 某知名的在线旅游平台,在即将到来的春季促销活动之前ÿ…...
Flutter Xcode 16+ iOS 18.1 使用image_pickers无法弹出选择图片的视图问题
解决 Flutter Xcode 16 使用 image_pickers 无法弹出选择图片视图的问题 在开发 Flutter 应用时,图片选择功能是常见的需求之一。image_pickers 库因其便捷性和功能丰富性,成为了许多开发者的选择。然而,随着 Xcode 版本的不断更新ÿ…...
socket网络编程-TC/IP方式
网络编程 1.概念:两台设备之间通过网络数据传输。 2.网络通信:将数据通过网络从一台设备传输另外一台设备。 3.java.net包下提供了一系列的类和接口,提供程序员使用,完成网络通信。 TCP和UDP TCP协议: 1.使用TCP协…...
《分布式光纤测温:解锁楼宇安全的 “高精度密码”》
在楼宇建筑中,因其内部空间庞大,各类电器设施众多,如何以一种既高效又稳定,兼具低成本与高覆盖特性的方式,为那些关键线路节点开展温度监测,是目前在安全监测领域一项重点研究项目,而无锡布里渊…...
C语言基本知识复习浓缩版:数组
所谓数组(Array),就是一系列数据的集合。这些数据具有相同的类型,并且在内存中挨着存放,彼此之间没有缝隙。换句话说,数组用来存放多份数据,但是它有两个要求: 这些数据的类型必须相…...
Python贪心
贪心 贪心:把整体问题分解成多个步骤,在每个步骤都选取当前步骤的最优方案,直至所有步骤结束;每个步骤不会影响后续步骤核心性质:每次采用局部最优,最终结果就是全局最优如果题目满足上述核心性质…...
rk3568 内核态OOM内存泄漏kmemleak使用
1,配置,修改\kernel\arch\arm64\configs\rockchip_linux_defconfig,修改后查看.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 - 日志记录系统(二) 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲,所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…...
阿里云直播互动Web
官方文档:互动消息Web端集成方法_视频直播(LIVE)-阿里云帮助中心 以下是代码实现: <!-- 引入阿里云互动文件 --> <script src"https://g.alicdn.com/code/lib/jquery/3.7.1/jquery.min.js"></script> <script src&quo…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
js 设置3秒后执行
如何在JavaScript中延迟3秒执行操作 在JavaScript中,要设置一个操作在指定延迟后(例如3秒)执行,可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法,它接受两个参数: 要执行的函数&…...
