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

【2024年华为OD机试】(C卷,100分)- 字符串筛选排序 (Java JS PythonC/C++)

在这里插入图片描述

一、问题描述

题目描述

输入一个由N个大小写字母组成的字符串

按照ASCII码值从小到大进行排序

查找字符串中第K个最小ASCII码值的字母 (k >= 1)

输出该字母所在字符串中的位置索引 (字符串的第一个位置索引为0)

k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引

如果有重复字母则输出字母的最小位置索引

输入描述

第一行输入一个由大小写字母组成的字符串

第二行输入k,k必须大于0,k可以大于输入字符串的长度

输出描述

输出字符串中第K个最小ASCII码值的字母所在字符串的位置索引

k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引

如果第K个最小ASCII码值的字母存在重复,则输出该字母的最小位置索引

用例

用例 1

输入:

AbCdeFG
3

输出:

5

说明:
根据ASCII码值排序,第三个ASCII码值的字母为F

F在字符串中位置索引为5 (0为字符串的第一个字母位置索引)

用例 2

输入:

fAdDAkBbBq
4

输出:

6

说明:
根据ASCII码值排序前4个字母为AABB由于B重复则只取B的第一个最小位置索引6

而不是第二个B的位置索引8

题目解析

本题是简单的字符串操作题。

2023.05.20 补充了第二个用例

根据第二个用例来看,题目要找的第k个,不是去重+升序后的第k个,而只是排序后的第k个。

详细步骤

  1. 读取输入

    • 读取一个由大小写字母组成的字符串 s
    • 读取一个整数 k
  2. 创建字符索引映射

    • 创建一个字典 char_index,键为字符,值为该字符在字符串中的最小索引。
    • 遍历字符串 s,记录每个字符的最小索引。
  3. 排序字符

    • 将字符串 s 中的字符按ASCII码值排序,得到排序后的字符列表 sorted_chars
  4. 查找第K个字符

    • 如果 k 大于字符串长度,取最大ASCII码值的字符。
    • 否则,取排序后第 k 个字符。
  5. 输出结果

    • 输出该字符在字符串中的最小位置索引。

用例解释

用例 1
  • 输入:
    • s = "AbCdeFG"
    • k = 3
  • 输出:
    • 5

解释

  • 按ASCII码值排序后的字符列表:['A', 'C', 'd', 'e', 'F', 'G', 'b']
  • 第3个字符是 F,其在字符串中的位置索引为 5。
用例 2
  • 输入:
    • s = "fAdDAkBbBq"
    • k = 4
  • 输出:
    • 6

解释

  • 按ASCII码值排序后的字符列表:['A', 'A', 'B', 'B', 'B', 'D', 'D', 'f', 'k', 'q']
  • 第4个字符是 B,其在字符串中的最小位置索引为 6。

通过上述步骤,我们可以高效地求出第K个最小ASCII码值的字母在字符串中的位置索引。这种方法的时间复杂度为 O(n log n),其中 n 是字符串的长度。

二、JavaScript算法源码

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


JavaScript 代码

/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline"); // 引入 readline 模块,用于读取控制台输入// 创建 readline 接口
const rl = readline.createInterface({input: process.stdin,  // 输入流为标准输入output: process.stdout, // 输出流为标准输出
});// 存储输入行的数组
const lines = [];// 监听输入事件
rl.on("line", (line) => {lines.push(line); // 将每一行输入存入 lines 数组// 当输入行数为 2 时,表示输入完成if (lines.length === 2) {const [str, k] = lines; // 解构赋值,获取输入的两行数据// 调用算法函数并输出结果console.log(getKIndex(str, k));// 清空 lines 数组,以便处理下一组输入lines.length = 0;}
});// 算法函数:获取字符串中第 k 小的字符的索引
function getKIndex(str, k) {// 如果 k 大于字符串长度,则将 k 设置为字符串长度if (k > str.length) k = str.length;// 将字符串转换为数组,排序后获取第 k 小的字符const tar = [...str].sort()[k - 1];// 返回该字符在原字符串中的索引return str.indexOf(tar);
}

代码逻辑讲解

1. 输入处理
  • 使用 readline 模块读取控制台输入。
  • 将每一行输入存入 lines 数组。
  • lines 数组的长度为 2 时,表示输入完成,开始处理数据。

2. 算法逻辑
  • 函数 getKIndex
    • 参数
      • str:输入的字符串。
      • k:表示需要查找的第 k 小的字符。
    • 逻辑
      1. 如果 k 大于字符串长度,则将 k 设置为字符串长度(避免越界)。
      2. 将字符串转换为数组,并对数组进行排序。
      3. 获取排序后数组中第 k - 1 个字符(因为数组索引从 0 开始)。
      4. 返回该字符在原字符串中的索引。

3. 示例验证
示例 1:
  • 输入:
    hello
    3
    
  • 处理过程:
    1. 将字符串 "hello" 转换为数组:['h', 'e', 'l', 'l', 'o']
    2. 对数组排序:['e', 'h', 'l', 'l', 'o']
    3. 获取第 3 小的字符:'l'
    4. 返回 'l' 在原字符串中的索引:2
  • 输出:2
示例 2:
  • 输入:
    world
    5
    
  • 处理过程:
    1. 将字符串 "world" 转换为数组:['w', 'o', 'r', 'l', 'd']
    2. 对数组排序:['d', 'l', 'o', 'r', 'w']
    3. 获取第 5 小的字符:'w'
    4. 返回 'w' 在原字符串中的索引:0
  • 输出:0

总结

  • 功能:在给定字符串 str 和整数 k 的情况下,找到字符串中第 k 小的字符,并返回其索引。
  • 核心逻辑
    1. 将字符串转换为数组并排序。
    2. 获取排序后数组中第 k - 1 个字符。
    3. 返回该字符在原字符串中的索引。
  • 适用场景:需要查找字符串中第 k 小的字符及其索引的场景。
  • 注意事项
    • 如果 k 大于字符串长度,则 k 会被设置为字符串长度。
    • 时间复杂度为 O(n log n),其中 n 是字符串长度(排序操作的时间复杂度)。

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

三、Java算法源码

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

import java.util.Arrays;  // 导入Arrays类,用于数组操作
import java.util.Scanner; // 导入Scanner类,用于从控制台读取输入public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in); // 创建Scanner对象,用于读取用户输入String str = sc.next(); // 读取用户输入的字符串int k = sc.nextInt();   // 读取用户输入的整数kSystem.out.println(getResult(str, k)); // 调用getResult方法并输出结果}public static int getResult(String str, int k) {char[] chars = str.toCharArray(); // 将字符串转换为字符数组Arrays.sort(chars); // 对字符数组进行排序,按字典序升序排列if (k > str.length()) k = str.length(); // 如果k大于字符串长度,则将k设置为字符串长度char tar = chars[k - 1]; // 获取排序后字符数组中的第k个字符(索引为k-1)return str.indexOf(tar); // 返回该字符在原字符串中的索引位置}
}

代码讲解:

  1. 导入类库

    • import java.util.Arrays;:导入Arrays类,用于对数组进行排序等操作。
    • import java.util.Scanner;:导入Scanner类,用于从控制台读取用户输入。
  2. 主方法 main

    • Scanner sc = new Scanner(System.in);:创建一个Scanner对象,用于读取用户输入。
    • String str = sc.next();:读取用户输入的字符串。
    • int k = sc.nextInt();:读取用户输入的整数k
    • System.out.println(getResult(str, k));:调用getResult方法,并将结果输出到控制台。
  3. getResult 方法

    • char[] chars = str.toCharArray();:将输入的字符串str转换为字符数组chars
    • Arrays.sort(chars);:对字符数组chars进行排序,排序后字符数组中的字符按字典序升序排列。
    • if (k > str.length()) k = str.length();:如果输入的k大于字符串的长度,则将k设置为字符串的长度,防止数组越界。
    • char tar = chars[k - 1];:获取排序后字符数组中的第k个字符(由于数组索引从0开始,所以是k-1)。
    • return str.indexOf(tar);:返回该字符在原字符串str中的索引位置。

代码功能总结:

  • 该程序的功能是:给定一个字符串和一个整数k,程序会先对字符串中的字符进行排序,然后找到排序后的第k个字符,并返回该字符在原字符串中的索引位置。

示例:

假设输入字符串为"hello"k3

  1. 将字符串转换为字符数组:['h', 'e', 'l', 'l', 'o']
  2. 对字符数组进行排序:['e', 'h', 'l', 'l', 'o']
  3. 取第3个字符(索引为2):'l'
  4. 返回'l'在原字符串"hello"中的索引位置:2

因此,程序输出为2

希望这个解释对您理解代码有所帮助!

四、Python算法源码

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

# 输入获取
s = input()  # 从控制台读取用户输入的字符串
k = int(input())  # 从控制台读取用户输入的整数k# 算法入口
def getResult(s, k):chars = list(s)  # 将字符串s转换为字符列表chars.sort()  # 对字符列表进行排序,按字典序升序排列if k > len(s):  # 如果k大于字符串的长度k = len(s)  # 将k设置为字符串的长度,防止越界tar = chars[k - 1]  # 获取排序后字符列表中的第k个字符(索引为k-1)return s.index(tar)  # 返回该字符在原字符串s中的索引位置# 调用算法
print(getResult(s, k))  # 调用getResult函数并输出结果

代码讲解:

  1. 输入获取

    • s = input():从控制台读取用户输入的字符串,并赋值给变量s
    • k = int(input()):从控制台读取用户输入的整数,并赋值给变量k
  2. getResult 函数

    • chars = list(s):将字符串s转换为字符列表chars
    • chars.sort():对字符列表chars进行排序,排序后字符列表中的字符按字典序升序排列。
    • if k > len(s): k = len(s):如果输入的k大于字符串的长度,则将k设置为字符串的长度,防止索引越界。
    • tar = chars[k - 1]:获取排序后字符列表中的第k个字符(由于列表索引从0开始,所以是k-1)。
    • return s.index(tar):返回该字符在原字符串s中的索引位置。
  3. 调用算法

    • print(getResult(s, k)):调用getResult函数,并将结果输出到控制台。

代码功能总结:

  • 该程序的功能是:给定一个字符串和一个整数k,程序会先对字符串中的字符进行排序,然后找到排序后的第k个字符,并返回该字符在原字符串中的索引位置。

示例:

假设输入字符串为"hello"k3

  1. 将字符串转换为字符列表:['h', 'e', 'l', 'l', 'o']
  2. 对字符列表进行排序:['e', 'h', 'l', 'l', 'o']
  3. 取第3个字符(索引为2):'l'
  4. 返回'l'在原字符串"hello"中的索引位置:2

因此,程序输出为2


注意事项:

  1. 索引从0开始
    • Python中的列表索引从0开始,因此第k个字符的索引是k-1
  2. 越界处理
    • 如果k大于字符串的长度,程序会将k设置为字符串的长度,避免索引越界。
  3. 字符重复
    • 如果字符串中有重复字符,s.index(tar)会返回第一个匹配字符的索引。

希望这个解释对您理解代码有所帮助!

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

以下是 C语言代码C++代码 的详细中文注释和讲解,并附上代码转换。


C语言代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>#define MAX_SIZE 10000  // 定义最大字符串长度// 比较函数,用于qsort排序
int cmp(const void* a, const void* b) {return (*(char*) a) - (*(char*) b);  // 按字符的ASCII值升序排序
}int main() {char s[MAX_SIZE];  // 定义字符数组,用于存储输入的字符串gets(s);  // 从控制台读取字符串(注意:gets不安全,建议使用fgets)int k;scanf("%d", &k);  // 从控制台读取整数kint n = strlen(s);  // 获取字符串的长度char s_cp[n + 1];  // 定义字符数组,用于存储字符串的副本strcpy(s_cp, s);  // 将原字符串复制到副本中qsort(s_cp, n, sizeof(char), cmp);  // 对副本字符串进行排序if (k > n) {  // 如果k大于字符串长度k = n;  // 将k设置为字符串长度,防止越界}char target = s_cp[k - 1];  // 获取排序后字符串的第k个字符(索引为k-1)printf("%lld\n", strchr(s, target) - s);  // 输出目标字符在原字符串中的索引return 0;
}

C语言代码讲解

  1. 头文件

    • #include <stdio.h>:标准输入输出库,用于printfscanf
    • #include <stdlib.h>:标准库,用于qsort
    • #include <string.h>:字符串处理库,用于strlenstrcpy
  2. 宏定义

    • #define MAX_SIZE 10000:定义最大字符串长度为10000。
  3. 比较函数 cmp

    • 用于qsort排序,按字符的ASCII值升序排列。
  4. 主函数 main

    • char s[MAX_SIZE];:定义字符数组,用于存储输入的字符串。
    • gets(s);:从控制台读取字符串(注意:gets不安全,建议使用fgets)。
    • scanf("%d", &k);:从控制台读取整数k
    • int n = strlen(s);:获取字符串的长度。
    • char s_cp[n + 1];:定义字符数组,用于存储字符串的副本。
    • strcpy(s_cp, s);:将原字符串复制到副本中。
    • qsort(s_cp, n, sizeof(char), cmp);:对副本字符串进行排序。
    • if (k > n) { k = n; }:如果k大于字符串长度,将k设置为字符串长度。
    • char target = s_cp[k - 1];:获取排序后字符串的第k个字符。
    • printf("%lld\n", strchr(s, target) - s);:输出目标字符在原字符串中的索引。

C++代码

#include <iostream>
#include <algorithm>  // 包含sort函数
#include <cstring>    // 包含strlen和strchr函数using namespace std;int main() {char s[10000];  // 定义字符数组,用于存储输入的字符串cin.getline(s, 10000);  // 从控制台读取字符串(安全的方式)int k;cin >> k;  // 从控制台读取整数kint n = strlen(s);  // 获取字符串的长度char s_cp[n + 1];  // 定义字符数组,用于存储字符串的副本strcpy(s_cp, s);  // 将原字符串复制到副本中sort(s_cp, s_cp + n);  // 对副本字符串进行排序if (k > n) {  // 如果k大于字符串长度k = n;  // 将k设置为字符串长度,防止越界}char target = s_cp[k - 1];  // 获取排序后字符串的第k个字符(索引为k-1)cout << (strchr(s, target) - s) << endl;  // 输出目标字符在原字符串中的索引return 0;
}

C++代码讲解

  1. 头文件

    • #include <iostream>:输入输出流库,用于cincout
    • #include <algorithm>:算法库,用于sort函数。
    • #include <cstring>:C风格字符串处理库,用于strlenstrchr
  2. 主函数 main

    • char s[10000];:定义字符数组,用于存储输入的字符串。
    • cin.getline(s, 10000);:从控制台读取字符串(安全的方式)。
    • cin >> k;:从控制台读取整数k
    • int n = strlen(s);:获取字符串的长度。
    • char s_cp[n + 1];:定义字符数组,用于存储字符串的副本。
    • strcpy(s_cp, s);:将原字符串复制到副本中。
    • sort(s_cp, s_cp + n);:对副本字符串进行排序。
    • if (k > n) { k = n; }:如果k大于字符串长度,将k设置为字符串长度。
    • char target = s_cp[k - 1];:获取排序后字符串的第k个字符。
    • cout << (strchr(s, target) - s) << endl;:输出目标字符在原字符串中的索引。

代码功能总结

  • 该程序的功能是:给定一个字符串和一个整数k,程序会先对字符串中的字符进行排序,然后找到排序后的第k个字符,并返回该字符在原字符串中的索引位置。

示例

假设输入字符串为"hello"k3

  1. 将字符串转换为字符数组:['h', 'e', 'l', 'l', 'o']
  2. 对字符数组进行排序:['e', 'h', 'l', 'l', 'o']
  3. 取第3个字符(索引为2):'l'
  4. 返回'l'在原字符串"hello"中的索引位置:2

因此,程序输出为2


注意事项

  1. C语言中的gets不安全
    • 建议使用fgets替代gets,例如:fgets(s, MAX_SIZE, stdin);
  2. C++中的cin.getline
    • 是安全的输入方式,可以避免缓冲区溢出。
  3. 字符重复
    • 如果字符串中有重复字符,strchr会返回第一个匹配字符的索引。

希望这个解释对您理解代码有所帮助!

相关文章:

【2024年华为OD机试】(C卷,100分)- 字符串筛选排序 (Java JS PythonC/C++)

一、问题描述 题目描述 输入一个由N个大小写字母组成的字符串 按照ASCII码值从小到大进行排序 查找字符串中第K个最小ASCII码值的字母 (k > 1) 输出该字母所在字符串中的位置索引 (字符串的第一个位置索引为0) k如果大于字符串长度则输出最大ASCII码值的字母所在字符串…...

iOS - runtime总结

详细总结一下 Runtime 的核心内容&#xff1a; 1. 消息发送机制 // 消息发送的基本流程 id objc_msgSend(id self, SEL _cmd, ...) {// 1. 获取 isaClass cls object_getClass(self);// 2. 查找缓存IMP imp cache_getImp(cls, _cmd);if (imp) return imp(self, _cmd, ...);…...

第33 章 - ES 实战篇 - MySQL 与 Elasticsearch 的一致性问题

思维导图 0. 前言 MySQL 与 Elasticsearch 一致性问题是老生常谈了。网上有太多关于这方面的文章了&#xff0c;但是千篇一律&#xff0c;看了跟没看没有太大区别。 在生产中&#xff0c;我们往往会通过 DTS 工具将 binlog 导入到 Kafka&#xff0c;再通过 Kafka 消费 binlog&…...

Artec Leo 3D扫描仪与Ray助力野生水生动物法医鉴定【沪敖3D】

挑战&#xff1a;捕获大型水生哺乳动物&#xff08;如鲸鱼&#xff09;的数据&#xff0c;搭建全彩3D模型&#xff0c;用于水生野生动物的法医鉴定、研究和保护工作。 解决方案&#xff1a;Artec Eva、Artec Space Spider、Artec Leo、Artec Ray、Artec Studio、CT scans 效果&…...

PythonQT5打包exe线程使用

打包&#xff1a; pyinstaller --noconsole --onefile test.py–noconsole 表示不需要打开命令行 修改&#xff1a;test.spec 一般项目里面需要用的资源文件&#xff0c;比如lib、png、exe等。 需要单独修改spec文件 pathex[.],binaries[(D:/test.png, .),(D:/simsun.ttc, .…...

【Powershell】Windows大法powershell好(二)

PowerShell基础&#xff08;二&#xff09; 声明&#xff1a;该笔记为up主 泷羽的课程笔记&#xff0c;本节链接指路。 警告&#xff1a;本教程仅作学习用途&#xff0c;若有用于非法行为的&#xff0c;概不负责。 1. powershell 执行外部命令 powershell也可以执行一些外部的…...

前端学习-环境this对象以及回调函数(二十七)

目录 前言 目标 环境对象 作用 环境对象this是什么&#xff1f; 判断this指向的粗略规则是什么&#xff1f; 回调函数 目标 常见的使用场景 综合案例&#xff1a;Tab任务栏切换 总结 前言 男儿何不带吴钩&#xff0c;收取关山五十州 目标 能够分析判断函数运行在不…...

Element-plus、Element-ui之Tree 树形控件回显Bug问题。

需求&#xff1a;提交时&#xff0c;需要把选中状态和半选中状态 的数据id提交。如图所示&#xff1a; 数据回显时&#xff0c;会出现代码如下&#xff1a; <template><el-tree ref"treeRef" :data"tree" show-checkbox node-key"id" …...

互联网全景消息(10)之Kafka深度剖析(中)

一、深入应用 1.1 SpringBoot集成Kafka 引入对应的依赖。 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupI…...

Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步

Oracle Dataguard&#xff08;主库为双节点集群&#xff09;配置详解&#xff08;5&#xff09;&#xff1a;将主库复制到备库并启动同步 目录 Oracle Dataguard&#xff08;主库为双节点集群&#xff09;配置详解&#xff08;5&#xff09;&#xff1a;将主库复制到备库并启动…...

pytorch小记(一):pytorch矩阵乘法:torch.matmul(x, y)

pytorch小记&#xff08;一&#xff09;&#xff1a;pytorch矩阵乘法&#xff1a;torch.matmul&#xff08;x, y&#xff09;/ x y 代码代码 1&#xff1a;torch.matmul(x, y)输入张量&#xff1a;计算逻辑&#xff1a;输出结果&#xff1a; 代码 2&#xff1a;y y.view(4,1)…...

PyTorch环境配置常见报错的解决办法

目标 小白在最基础的环境配置里一般都会出现许多问题。 这里把一些常见的问题分享出来。希望可以节省大家一些时间。 最终目标是可以在cmd虚拟环境里进入jupyter notebook&#xff0c;new的时候有对应的环境&#xff0c;并且可以跑通所有的import code。 第一步&#xff1a;…...

罗永浩再创业,这次盯上了 AI?

罗永浩&#xff0c;1972年7月9日生于中国延边朝鲜族自治州的一个军人家庭&#xff0c;是一名朝鲜族人&#xff1b;早年在新东方授课&#xff0c;2004年当选 “网络十大红人” &#xff1b;2006年8月1日&#xff0c;罗永浩创办牛博网&#xff1b;2008年5月&#xff0c;罗永浩注册…...

VUE3 provide 和 inject,跨越多层级组件传递数据

provide 和 inject 是 Vue 3 提供的 API&#xff0c;主要用于实现祖先组件与后代组件之间的依赖注入。它们可以让你在组件树中&#xff0c;跨越多层组件传递数据&#xff0c;而不需要通过 props 或事件的方式逐层传递。这个机制主要用于状态共享、插件系统或某些跨层级的功能。…...

git打补丁

1、应用场景 跨仓库升级 开发项目B使用的是开源项目A。开源项目A发现漏洞&#xff0c;作者进行了修复&#xff0c;我们可以通过使用git补丁的方式&#xff0c;将作者修改的内容复制到我 们的项目B中。 2、TortoiseGit方式 源仓库 格式化补丁 根据提交数量&#xff0c;生成…...

机械燃油车知识图谱、知识大纲、知识结构(持续更新...)

一、发动机 曲柄连杆机构 配气机构 点火系统 起动系统 燃油供给系统 润滑系统 冷却系统 二、底盘 &#xff08;一&#xff09;传动系统 1、离合器 2、变速器 3、万向传动装置 4、驱动桥 &#xff08;二&#xff09;行驶系统 1、车架 2、车桥 3、悬架 4、车轮 &a…...

Vue3学习总结

一、Vue 3 基础搭建与核心语法 1.创建 Vue 3 应用 在项目的入口文件 main.js 中&#xff0c;通过以下代码创建 Vue 3 应用实例&#xff1a; import { createApp } from vue; import App from ./App.vue;const app createApp(App); app.mount(#app); 这几行代码的作用是引入…...

Type-C双屏显示器方案

在数字化时代&#xff0c;高效的信息处理和视觉体验已成为我们日常生活和工作的关键需求。随着科技的进步&#xff0c;一款结合了便携性和高效视觉输出的设备——双屏便携屏&#xff0c;逐渐崭露头角&#xff0c;成为追求高效工作和娱乐体验人群的新宠。本文将深入探讨双屏便携…...

【读书与思考】焦虑与内耗

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 导言 今天一个朋友和我说&#xff0c;最近比较焦虑和内耗&#xff0c;无心工作和学习&#xff0c;我问他你焦虑内耗的时候&#xff0c;时间主要花在哪了&#xff0c;他告诉我说主要花在看有关移…...

基于python的网页表格数据下载--转excel

基于 Python 的网页表格数据爬取与下载:以维基百科为例 目录 基于 Python 的网页表格数据爬取与下载:以维基百科为例1. 背景介绍2. 工具与环境3. 操作步骤1. 获取网页内容2. 定位表格元素3. 表格变身 Pandas DataFrame4. 检查数据,收工!5. 进阶玩法与优化6. 完整代码4. 结果…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...