华为OD机试真题——数据分类(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
2025 A卷 100分 题型
本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析;
并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式!
本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》
华为OD机试真题《数据分类》:
目录
- 题目名称:数据分类
- 题目描述
- Java
- 问题分析
- 解题思路
- 代码实现
- 代码详细解析
- 示例测试
- 综合分析
- python
- 问题分析
- 解题思路
- 代码实现
- 代码详细解析
- 示例测试
- 综合分析
- JavaScript
- 问题分析
- 解题思路
- 代码实现
- 代码详细解析
- 示例测试
- 综合分析
- C++
- 问题分析
- 解题思路
- 代码实现
- 代码详细解析
- 示例测试
- 综合分析
- C语言
- 问题分析
- 解题思路
- 代码实现
- 代码详细解析
- 示例测试
- 综合分析
- GO
- 问题分析
- 解题思路
- 代码实现
- 代码详细解析
- 示例测试
- 综合分析
- 更多内容:
题目名称:数据分类
- 知识点:位运算、逻辑处理
- 时间限制:1秒
- 空间限制:256MB
- 限定语言:不限
题目描述
对一个数据 a 进行分类,分类方法为:
- 将 a(四个字节大小)的四个字节的十进制值相加,得到一个总和。
- 将此总和对一个给定的值 b 取模。
- 若取模结果小于另一个给定值 c,则该结果为 a 的有效类型;否则类型无效。
输入描述
- 输入12个数据,以空格分隔:
- 第一个数据为 c,第二个数据为 b,剩余10个数据为待分类的整数(每个数 ≤ 1e9)。
输出描述
- 统计有效类型中包含数据最多的类型,输出其数据个数。若所有类型均无效,输出
0
。
示例1
输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
说明
- 每个数转换为四个字节的十六进制字符串(不足8位补前导0),例如256补为
00000100
,每个字节转为十进制相加,结果为0 + 0 + 1 + 0 = 1
。 - 10个数的总和分别为
1, 2, 3, 4, 5, 6, 7, 8, 9, 10
,对4取模结果为1, 2, 3, 0, 1, 2, 3, 0, 1, 2
。 - 因
c=3
,有效类型为0、1、2,其中类型1和2各有3个数据,故输出3。
补充说明
- 每个整数需转换为四个字节的十六进制表示,例如
256
转为00000100
,拆分后字节为0x00, 0x00, 0x01, 0x00
。 - 需统计所有有效类型的出现次数,取最大值。
Java
问题分析
我们需要根据输入的整数数组进行分类,分类规则基于每个整数的四个字节之和的模运算结果。统计有效类型中出现次数最多的数据个数,若所有类型无效则输出0。
解题思路
- 输入处理:读取c、b和10个待分类的整数。
- 字节和计算:将每个整数拆分为四个字节,计算各字节的十进制和。
- 模运算与分类:计算字节和对b取模,判断是否小于c,记录有效类型。
- 统计与输出:统计有效类型的出现次数,输出最大值。
代码实现
import java.util.*;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String[] input = scanner.nextLine().split(" ");// 解析输入参数int c = Integer.parseInt(input[0]);int b = Integer.parseInt(input[1]);int[] nums = new int[10];for (int i = 0; i < 10; i++) {nums[i] = Integer.parseInt(input[i + 2]);}Map<Integer, Integer> typeCount = new HashMap<>(); // 统计有效类型出现次数for (int num : nums) {// 计算四个字节的十进制和int sum = 0;sum += (num >> 24) & 0xFF; // 最高位字节sum += (num >> 16) & 0xFF;sum += (num >> 8) & 0xFF;sum += num & 0xFF; // 最低位字节int mod = sum % b; // 取模结果if (mod < c) { // 判断是否有效typeCount.put(mod, typeCount.getOrDefault(mod, 0) + 1);}}// 找出最大出现次数int max = 0;for (int count : typeCount.values()) {if (count > max) max = count;}System.out.println(max);}
}
代码详细解析
- 输入处理:使用
Scanner
读取输入并分割成字符串数组,解析出c
、b
和10个整数。 - 字节和计算:
- 通过位运算
(num >> n) & 0xFF
依次提取四个字节的值。 - 累加四个字节的十进制值得到总和。
- 通过位运算
- 模运算与分类:计算总和对
b
取模,若结果小于c
则记录到哈希表中。 - 统计与输出:遍历哈希表的值,找到最大出现次数并输出。
示例测试
示例1输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
解析:有效类型为0、1、2,类型1和2各出现3次。
示例2输入:
5 3 1 2 3 4 5 6 7 8 9 10
输出:
10
解析:所有模结果均小于5,所有类型有效,最大值10。
示例3输入:
0 1 100 200 300 400 500 600 700 800 900 1000
输出:
0
解析:c=0
,所有模结果不小于0,无有效类型。
综合分析
- 时间复杂度:O(n),其中n=10,每个数处理时间为常数。
- 空间复杂度:O(k),k为有效类型数量,最多为min(b, c)。
- 优势:
- 高效位运算:快速提取字节值,无需复杂转换。
- 哈希表统计:O(1)时间记录和查询频率。
- 适用场景:适用于大范围整数分类,满足时间与空间要求。
python
问题分析
我们需要根据输入的整数数组进行分类,分类规则基于每个整数的四个字节之和的模运算结果。统计有效类型中出现次数最多的数据个数,若所有类型无效则输出0。
解题思路
- 输入处理:读取c、b和10个待分类的整数。
- 字节和计算:将每个整数拆分为四个字节,计算各字节的十进制和。
- 模运算与分类:计算字节和对b取模,判断是否小于c,记录有效类型。
- 统计与输出:统计有效类型的出现次数,输出最大值。
代码实现
# 读取输入并解析
input_list = list(map(int, input().split()))
c = input_list[0]
b = input_list[1]
nums = input_list[2:12]# 统计有效类型出现次数
type_count = {}for num in nums:# 提取四个字节的十进制值byte1 = (num >> 24) & 0xFF # 最高位字节byte2 = (num >> 16) & 0xFFbyte3 = (num >> 8) & 0xFFbyte4 = num & 0xFF # 最低位字节total = byte1 + byte2 + byte3 + byte4# 计算模结果并判断有效性mod = total % bif mod < c:type_count[mod] = type_count.get(mod, 0) + 1# 找出最大出现次数
max_count = max(type_count.values()) if type_count else 0
print(max_count)
代码详细解析
-
输入处理:
input().split()
读取输入并分割成字符串列表map(int, ...)
转换为整数列表- 第一个元素为
c
,第二个为b
,后续为待处理的10个整数
-
字节提取:
(num >> 24) & 0xFF
:右移24位获取最高位字节(num >> 16) & 0xFF
:右移16位获取第二个字节(num >> 8) & 0xFF
:右移8位获取第三个字节num & 0xFF
:直接取最低位字节
-
求和与分类:
- 计算四个字节之和
total
total % b
计算模结果- 若模结果
< c
则记录到字典type_count
- 计算四个字节之和
-
统计结果:
- 若字典非空则取最大值,否则输出0
示例测试
示例1输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
解析:
- 256的字节和为1 → 1%4=1(有效)
- 类型1和2各出现3次,最大值3
示例2输入:
5 3 1 2 3 4 5 6 7 8 9 10
输出:
10
解析:
- 所有数的模结果均小于5,最大值10
示例3输入:
0 1 100 200 300 400 500 600 700 800 900 1000
输出:
0
解析:
- 所有模结果≥0,但c=0,均无效
综合分析
- 时间复杂度:O(n),其中n=10,每个数处理时间为O(1)
- 空间复杂度:O(k),k为有效类型数量(最多为b)
- 优势:
- 位运算高效:直接通过位移和掩码提取字节,无需类型转换
- 哈希表快速统计:字典操作时间复杂度为O(1)
- 适用场景:适用于大规模整数处理,满足时间与空间要求
JavaScript
问题分析
我们需要根据输入的整数数组进行分类,分类规则基于每个整数的四个字节之和的模运算结果。统计有效类型中出现次数最多的数据个数,若所有类型无效则输出0。
解题思路
- 输入处理:读取
c
、b
和10个待分类的整数。 - 字节和计算:将每个整数拆分为四个字节,计算各字节的十进制和。
- 模运算与分类:计算字节和对
b
取模,判断是否小于c
,记录有效类型。 - 统计与输出:统计有效类型的出现次数,输出最大值。
代码实现
const fs = require('fs');
const input = fs.readFileSync(0).toString().trim().split(/\s+/);// 解析输入参数
const c = parseInt(input[0], 10);
const b = parseInt(input[1], 10);
const nums = input.slice(2, 12).map(num => parseInt(num, 10));const typeCount = {}; // 记录有效类型出现次数/*** 计算整数的四个字节之和* @param {number} num - 待处理的整数* @returns {number} 四个字节的十进制和*/
function getByteSum(num) {const byte1 = (num >> 24) & 0xff; // 最高位字节const byte2 = (num >> 16) & 0xff;const byte3 = (num >> 8) & 0xff;const byte4 = num & 0xff; // 最低位字节return byte1 + byte2 + byte3 + byte4;
}// 处理每个数字
for (const num of nums) {const sum = getByteSum(num);const mod = sum % b; // 计算模结果if (mod < c) { // 判断有效性typeCount[mod] = (typeCount[mod] || 0) + 1;}
}// 找出最大出现次数
const counts = Object.values(typeCount);
const max = counts.length > 0 ? Math.max(...counts) : 0;
console.log(max);
代码详细解析
-
输入处理:
fs.readFileSync(0)
读取输入流。split(/\s+/)
按空格分割输入字符串。- 解析前两个参数为
c
和b
,剩余参数转为整数数组。
-
字节和计算:
(num >> 24) & 0xff
:右移24位获取最高位字节。(num >> 16) & 0xff
:右移16位获取第二个字节。(num >> 8) & 0xff
:右移8位获取第三个字节。num & 0xff
:直接取最低位字节。
-
模运算与分类:
- 计算四个字节之和
sum
。 sum % b
计算模结果。- 若模结果
< c
则记录到typeCount
对象。
- 计算四个字节之和
-
统计与输出:
Object.values(typeCount)
获取所有有效类型的出现次数。- 找出最大值,若无效则输出0。
示例测试
示例1输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
解析:
- 256的字节和为1 → 1%4=1(有效)。
- 有效类型0、1、2中,类型1和2各出现3次。
示例2输入:
5 3 1 2 3 4 5 6 7 8 9 10
输出:
10
解析:
- 所有模结果均小于5,所有类型有效,最大值10。
示例3输入:
0 1 100 200 300 400 500 600 700 800 900 1000
输出:
0
解析:
c=0
,所有模结果非负,均无效。
综合分析
- 时间复杂度:O(n),其中n=10,每个数处理时间为O(1)。
- 空间复杂度:O(k),k为有效类型数量(最多为b)。
- 优势:
- 位运算高效:直接通过位移和掩码提取字节,无需类型转换。
- 哈希表快速统计:对象操作时间复杂度为O(1)。
- 适用场景:适用于大规模整数处理,满足时间与空间要求。
C++
问题分析
我们需要根据输入的整数数组进行分类,分类规则基于每个整数的四个字节之和的模运算结果。统计有效类型中出现次数最多的数据个数,若所有类型无效则输出0。
解题思路
- 输入处理:读取
c
、b
和10个待分类的整数。 - 字节和计算:将每个整数拆分为四个字节,计算各字节的十进制和。
- 模运算与分类:计算字节和对
b
取模,判断是否小于c
,记录有效类型。 - 统计与输出:统计有效类型的出现次数,输出最大值。
代码实现
#include <iostream>
#include <unordered_map>
#include <vector>using namespace std;int main() {int c, b;vector<int> nums(10);// 读取输入:前两个参数为c和b,剩余10个为待处理整数cin >> c >> b;for (int i = 0; i < 10; ++i) {cin >> nums[i];}unordered_map<int, int> type_count; // 记录有效类型及其出现次数for (int num : nums) {unsigned unum = num; // 转换为无符号类型,避免符号扩展问题int sum = 0;sum += (unum >> 24) & 0xFF; // 提取最高位字节(第4个字节)sum += (unum >> 16) & 0xFF; // 提取第3个字节sum += (unum >> 8) & 0xFF; // 提取第2个字节sum += unum & 0xFF; // 提取最低位字节(第1个字节)int mod = sum % b; // 计算模结果if (mod < c) { // 判断是否为有效类型type_count[mod]++;}}// 找出出现次数最多的类型int max_count = 0;for (const auto& pair : type_count) {if (pair.second > max_count) {max_count = pair.second;}}cout << max_count << endl;return 0;
}
代码详细解析
-
输入处理:
cin
读取输入,前两个值为c
和b
,后续为10个整数。- 使用
vector<int>
存储待处理的整数。
-
字节和计算:
unum = num
:将数值转换为无符号类型,避免右移时的符号扩展问题。(unum >> 24) & 0xFF
:右移24位获取最高位字节(第4个字节)。(unum >> 16) & 0xFF
:右移16位获取第3个字节。(unum >> 8) & 0xFF
:右移8位获取第2个字节。unum & 0xFF
:直接取最低位字节(第1个字节)。
-
模运算与分类:
sum % b
:计算四个字节之和的模结果。if (mod < c)
:判断是否为有效类型,并更新哈希表type_count
。
-
统计结果:
- 遍历哈希表,找到出现次数最多的类型,输出其出现次数。
示例测试
示例1输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
解析:
- 256的四个字节和为
0+0+1+0=1
→1%4=1
(有效)。 - 有效类型为0、1、2,类型1和2各出现3次。
示例2输入:
5 3 1 2 3 4 5 6 7 8 9 10
输出:
10
解析:
- 所有数的模结果均小于5,有效类型出现次数最大为10。
示例3输入:
0 1 100 200 300 400 500 600 700 800 900 1000
输出:
0
解析:
c=0
,所有模结果非负,均无效。
综合分析
-
时间复杂度:O(1)
- 每个整数处理时间为常数,总共有10个整数,总时间复杂度为 O(10) = O(1)。
-
空间复杂度:O(1)
- 哈希表最多存储
b
个键值对,但b
的范围由输入决定,实际中可视为常数。
- 哈希表最多存储
-
优势:
- 位运算高效:通过位移和掩码快速提取字节值,时间复杂度稳定。
- 哈希表快速统计:
unordered_map
的插入和查询操作平均为 O(1) 时间复杂度。
-
适用场景:
- 适用于需要快速处理整数分类的场景,如网络协议解析、数据特征提取等。
C语言
问题分析
我们需要根据输入的整数数组进行分类,分类规则基于每个整数的四个字节之和的模运算结果。统计有效类型中出现次数最多的数据个数,若所有类型无效则输出0。
解题思路
- 输入处理:读取
c
、b
和10个待分类的整数。 - 字节和计算:将每个整数拆分为四个字节,计算各字节的十进制和。
- 模运算与分类:计算字节和对
b
取模,判断是否小于c
,记录有效类型。 - 统计与输出:统计有效类型的出现次数,输出最大值。
代码实现
#include <stdio.h>
#include <stdlib.h>int main() {int c, b;int nums[10];// 读取输入参数scanf("%d %d", &c, &b);for (int i = 0; i < 10; i++) {scanf("%d", &nums[i]);}// 处理特殊情况:c ≤ 0时所有类型无效if (c <= 0) {printf("0\n");return 0;}// 动态分配数组记录有效类型的出现次数int *count = (int *)calloc(b, sizeof(int));if (count == NULL) {printf("0\n");return 0;}// 处理每个数字for (int i = 0; i < 10; i++) {unsigned num = (unsigned)nums[i]; // 转为无符号数处理// 提取四个字节的十进制值int byte1 = (num >> 24) & 0xFF; // 最高位字节int byte2 = (num >> 16) & 0xFF;int byte3 = (num >> 8) & 0xFF;int byte4 = num & 0xFF; // 最低位字节int sum = byte1 + byte2 + byte3 + byte4;int mod = sum % b; // 计算模结果if (mod < c) { // 判断有效性count[mod]++; // 统计有效类型}}// 遍历数组找出最大出现次数int max_count = 0;for (int i = 0; i < b; i++) {if (count[i] > max_count) {max_count = count[i];}}// 输出结果并释放内存printf("%d\n", max_count);free(count);return 0;
}
代码详细解析
- 输入处理:
scanf
读取前两个参数c
和b
,后续读取10个整数存入数组nums
。
- 特殊处理:
- 若
c <= 0
,直接输出0,因为所有模结果均无效。
- 若
- 动态数组分配:
- 使用
calloc
分配大小为b
的数组count
,初始化为0,用于记录每个有效类型的出现次数。
- 使用
- 字节分解与求和:
- 将整数转为无符号数处理,避免符号扩展问题。
- 通过位操作提取四个字节的值,计算它们的十进制和。
- 模运算与分类:
- 计算总和对
b
取模,若结果小于c
,则在count
数组中对应位置计数加1。
- 计算总和对
- 统计结果:
- 遍历
count
数组,找到出现次数的最大值并输出。
- 遍历
示例测试
示例1输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
解析:
- 有效类型为0、1、2,类型1和2各出现3次。
示例2输入:
5 3 1 2 3 4 5 6 7 8 9 10
输出:
10
解析:
- 所有模结果均小于5,有效类型出现次数最大为10。
示例3输入:
0 1 100 200 300 400 500 600 700 800 900 1000
输出:
0
解析:
c=0
,所有模结果均无效,输出0。
综合分析
- 时间复杂度:O(1)
- 每个整数处理时间为常数,总共有10个整数,时间复杂度为 O(10) = O(1)。
- 空间复杂度:O(b)
- 使用动态数组
count
记录有效类型次数,数组大小为b
。
- 使用动态数组
- 优势:
- 位运算高效:通过无符号转换和位操作快速提取字节值。
- 动态内存管理:灵活处理不同规模的
b
,避免内存浪费。
- 适用场景:
- 适用于需要快速处理整数分类的场景,如网络协议解析、数据特征提取等。
GO
问题分析
我们需要根据输入的整数数组进行分类,分类规则基于每个整数的四个字节之和的模运算结果。统计有效类型中出现次数最多的数据个数,若所有类型无效则输出0。
解题思路
- 输入处理:读取
c
、b
和10个待分类的整数。 - 字节和计算:将每个整数拆分为四个字节,计算各字节的十进制和。
- 模运算与分类:计算字节和对
b
取模,判断是否小于c
,记录有效类型。 - 统计与输出:统计有效类型的出现次数,输出最大值。
代码实现
package mainimport ("bufio""fmt""os""strconv""strings"
)func main() {scanner := bufio.NewScanner(os.Stdin)scanner.Scan()input := strings.TrimSpace(scanner.Text())parts := strings.Fields(input)// 解析输入参数c, _ := strconv.Atoi(parts[0])b, _ := strconv.Atoi(parts[1])nums := parts[2:12]// 处理无效的 cif c <= 0 {fmt.Println(0)return}typeCount := make(map[int]int) // 记录有效类型的出现次数// 处理每个数字for _, s := range nums {num, _ := strconv.Atoi(s)u := uint32(num) // 转换为无符号数处理负数// 提取四个字节的十进制值byte1 := (u >> 24) & 0xFF // 最高位字节byte2 := (u >> 16) & 0xFFbyte3 := (u >> 8) & 0xFFbyte4 := u & 0xFFsum := int(byte1 + byte2 + byte3 + byte4)mod := sum % b // 计算模结果if mod < c { // 判断是否有效typeCount[mod]++}}// 找出最大出现次数maxCount := 0for _, count := range typeCount {if count > maxCount {maxCount = count}}fmt.Println(maxCount)
}
代码详细解析
-
输入处理:
bufio.Scanner
读取输入并分割为字符串数组。- 第一个元素为
c
,第二个为b
,剩余10个为待处理整数。
-
无效类型处理:
- 若
c <= 0
,直接输出0,因为所有模结果均无效。
- 若
-
字节分解与求和:
uint32(num)
:将整数转为无符号类型,避免符号扩展问题。(u >> 24) & 0xFF
:提取最高位字节(第4个字节)。(u >> 16) & 0xFF
:提取第3个字节。(u >> 8) & 0xFF
:提取第2个字节。u & 0xFF
:提取最低位字节(第1个字节)。
-
模运算与分类:
sum % b
:计算总和对b
取模。mod < c
:判断是否为有效类型,并记录到typeCount
。
-
统计结果:
- 遍历哈希表
typeCount
,找到出现次数最多的有效类型。
- 遍历哈希表
示例测试
示例1输入:
3 4 256 257 258 259 260 261 262 263 264 265
输出:
3
解析:
- 256的四个字节和为
0+0+1+0=1
→1%4=1
(有效)。 - 有效类型为0、1、2,类型1和2各出现3次。
示例2输入:
5 3 1 2 3 4 5 6 7 8 9 10
输出:
10
解析:
- 所有数的模结果均小于5,有效类型出现次数最大为10。
示例3输入:
0 1 100 200 300 400 500 600 700 800 900 1000
输出:
0
解析:
c=0
,所有模结果均无效,输出0。
综合分析
- 时间复杂度:O(1)
- 每个整数处理时间为常数,总共有10个整数,时间复杂度为 O(10) = O(1)。
- 空间复杂度:O(1)
- 哈希表最多存储
b
个键值对,但b
的范围由输入决定,实际中可视为常数。
- 哈希表最多存储
- 优势:
- 位运算高效:通过位移和掩码快速提取字节值。
- 哈希表快速统计:
map[int]int
的插入和查询操作平均为 O(1)。
- 适用场景:
- 适用于需要快速处理整数分类的场景,如网络协议解析、数据特征提取等。
更多内容:
https://www.kdocs.cn/l/cvk0eoGYucWA
本文发表于【纪元A梦】,关注我,获取更多实用教程/资源!
相关文章:
华为OD机试真题——数据分类(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录全流程解析/备考攻略/经验…...
3步拆解Linux内核源码的思维模型
3步拆解Linux内核源码的思维模型 ——从“不敢碰”到“庖丁解牛” 一、第一步:资料收集与框架搭建——像拼图一样找到“地图” 初看Linux内核源码的人,往往会被其千万行代码淹没。但正如登山前需要地形图,阅读内核前必须构建认知框架。 1…...
图像预处理-图像轮廓特征查找
其实就是外接轮廓,有了轮廓点就可以找到最上、最下、最左、最右的四个坐标(因为有xmin,xmax,ymin,ymax)。就可以绘制出矩形。 一.外接矩形 cv.boundingRect(轮廓点) - 返回x,y,w,h,传入一个轮廓的轮廓点,若有多个轮廓需…...
布尔差分法解析:从逻辑导数到电路优化
#布尔差分法解析:从逻辑导数到电路优化 一、背景数学知识:布尔代数基础 布尔变量与函数 在布尔代数中,变量的取值只有 0(表示假)和 1(表示真)。例如,一个布尔变量 x 可以取 0 或 1。…...
【NVIDIA】Isaac Sim 4.5.0 加载 Franka 机械臂
目录 一、NVIDIA Isaac Sim 4.5.0二、Isaac Sim 4.5.0 核心特性解析1. 基于 Omniverse 的跨平台仿真框架2. 模块化机器人开发架构3. 面向AI的强化学习支持 三、Isaac Sim 4.5.0 仿真环境搭建四、加载 Franka 机械臂1. Python源码2. 代码解析(按执行流程)…...
边缘计算场景下的GPU虚拟化实践(基于vGPU的QoS保障与算力隔离方案)
在智慧交通、工业质检等边缘计算场景中,GPU虚拟化技术面临严苛的实时性与资源隔离挑战。本文基于NVIDIA vGPU与国产算力池化方案,深入探讨多租户环境下算力隔离的工程实践,并给出可复用的优化策略。 一、边缘GPU虚拟化的核心痛点 动态负载…...
使用go-git同步文件到gitee
go-git是golang上纯go实现的git客户端,可用来同步文件到git仓库。 为什么不用gitee官方openapi,因为我需要强制推送覆盖,官方api不支持。 下面是一个通过xml.gz文件到gitee的代码示例 package clientimport ("fmt""gin-epg…...
HTTP 和 HTTPS 有什么区别?
文章目录 安全性端口号连接方式证书性能搜索引擎优化(SEO) HTTP(Hypertext Transfer Protocol,超文本传输协议)和 HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)都…...
【C++软件实战问题排查经验分享】UI界面卡顿 | CPU占用高 | GDI对象泄漏 | 线程堵塞 系列问题排查总结
目录 1、UI界面卡顿问题排查 2、软件CPU占用高问题排查 3、UI界面显示异常(GDI对象泄漏导致窗口绘制异常)问题排查 4、软件线程堵塞(包含线程死锁)问题排查 5、最后 C软件异常排查从入门到精通系列教程(核心精品专…...
ADB->查看某个应用的版本信息
查看某个应用版本的版本 在Android开发和测试过程中,我们经常需要获取应用的版本信息。本文将详细介绍如何使用ADB命令来查询特定应用(以com.example.myapplication为例)的版本号。 基本命令 要获取com.example.myapplication应用的版本名…...
Selenium的ActionChains:自动化Web交互的强大工具
目录 ActionChains简介环境准备基础操作鼠标操作键盘操作拖放操作高级用法常见问题与解决方案最佳实践总结 ActionChains简介 ActionChains是Selenium WebDriver提供的一个用于执行复杂用户交互的工具类。它允许我们模拟鼠标移动、点击、拖放以及键盘输入等操作,…...
管道位移自动化监测方案
一、背景 管道系统在区域性地质沉降作用下易形成非均匀应力场集中现象,诱发管体屈曲变形及环焊缝界面剥离等连续损伤累积效应,进而导致管道力学性能退化与临界承载能力衰减。传统人工巡检受限于空间覆盖度不足及数据采集周期长(≥72h…...
CompletableFuture并行处理任务
CompletableFuture并行处理任务 CompletableFuture基本概念与特性创建CompletableFuture实例 任务编排方法线程池选择默认线程池自定义线程池线程池配置建议 代码示例同步代码 CompletableFuture 基本概念与特性 异步执行: CompletableFuture允许任务在后台线程中…...
【系统架构设计师】信息安全的概念
目录 1. 5个基本要素2. 范围2.1 设备安全2.2 数据安全2.3 内容安全2.4 行为安全 3. 例题3.1 例题1 1. 5个基本要素 1.信息安全包括5个基本要素:机密性、完整性、可用性、可控性与可审查性。2.机密性:确保信息不暴露给未授权的实体或进程。3.完整性:只有得到允许的人才能修改数…...
华为云获取IAM用户Token的方式及适用分析
🧠 一、为什么要获取 IAM 用户 Token? 我们用一个生活中的比喻来解释👇: 🏢 比喻场景: 你要去一个 高级写字楼(华为云物联网平台) 办事(调用接口管理设备)&…...
齐次坐标系下的变换矩阵
理解齐次坐标系下的变换矩阵 文章目录 理解齐次坐标系下的变换矩阵1 引言2 齐次坐标系的简要介绍2.1 齐次坐标系的定义2.2 为什么需要齐次坐标系?2.3 齐次坐标系的特殊性质2.3.1 点和向量的区分2.3.2 投影变换 3 齐次坐标系下的变换矩阵3.1 二维变换矩阵平移变换缩放…...
web原生API AbortController网络请求取消方法使用介绍:防止按钮重复点击提交得最佳方案
在前端开发中,取消网络请求是一个常见的需求,尤其是在用户频繁操作或需要中断长时间请求的场景下。 AbortController 主要用于 优雅地管理和取消异步操作: 浏览器原生 API 一、代码解析 1. 创建 AbortController 实例 const controlle…...
74.搜索二维矩阵
题目: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则&#x…...
基于Spring Boot+微信小程序的智慧农蔬微团购平台-项目分享
基于Spring Boot微信小程序的智慧农蔬微团购平台-项目分享 项目介绍项目摘要目录系统功能图管理员E-R图用户E-R图项目预览登录页面商品管理统计分析用户地址添加 最后 项目介绍 使用者:管理员、用户 开发技术:MySQLSpringBoot微信小程序 项目摘要 随着…...
机器学习-08-推荐算法-协同过滤
总结 本系列是机器学习课程的系列课程,主要介绍机器学习中关联规则 参考 机器学习(三):Apriori算法(算法精讲) Apriori 算法 理论 重点 MovieLens:一个常用的电影推荐系统领域的数据集 23张图&#x…...
03-HTML常见元素
一、HTML常见元素 常见元素及功能: 元素用途<h1>~<h6>标题从大到小<p>段落,不同段落会有间距<img>显示图片,属性src为图片路径,alt为图片无法显示时的提示文本<a>超链接,属性href为链…...
LangChain + 文档处理:构建智能文档问答系统 RAG 的实战指南
🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是Lang Chain 2、文档问答的典型应用场景 二、文…...
深入理解 DML 和 DQL:SQL 数据操作与查询全解析
深入理解 DML 和 DQL:SQL 数据操作与查询全解析 在数据库管理中,SQL(结构化查询语言)是操作和查询数据的核心工具。其中,DML(Data Manipulation Language,数据操作语言) 和 DQL&…...
头歌实训之SQL视图的定义与操纵
🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…...
Excel/WPS表格中图片链接转换成对应的实际图片
Excel 超链图变助手(点击下载可免费试用) 是一款将链接转换成实际图片,批量下载表格中所有图片的转换工具,无需安装,双击打开即可使用。 表格中链接如下图所示: 操作方法: 1、双击以下图标&a…...
单例模式的使用场景 以及 饿汉式写法(智能指针)
单例模式的使用场景 以及 饿汉式写法(智能指针) 饿汉式:创建类时就已经创建好了类的实例(用智能指针实现)什么时候用单例模式:1. 全局配置管理2. 日志系统3. 资源管理器4. 硬件设备访问总结 饿汉式…...
示波器探头状态诊断与维护技术指南
一、探头性能劣化特征分析 信号保真度下降 ・时域表现:上升沿时间偏离标称值15%以上(如1ns探头测得≥1.15ns) ・频域特性:-3dB带宽衰减超过探头标称值20%基准稳定性异常 ・直流偏置电压漂移量>5mV(预热30分…...
使用Matlab工具将RAW文件转化为TXT文件,用于FPGA仿真输入
FPGA实现图像处理算法时,通常需要将图像作为TestBench的数据输入。 使用VHDL编写TestBench时,只能读取二进制TXT文件。 现在提供代码,用于实现RAW图像读取,图像显示,图像转化为二进制数据并存入TXT文件中。 clc; cl…...
Missashe考研日记-day23
Missashe考研日记-day23 0 写在前面 博主前几天有事回家去了,断更几天了不好意思,就当回家休息一下调整一下状态了,今天接着开始更新。虽然每天的博客写的内容不算多,但其实还是挺费时间的,比如这篇就花了我40多分钟…...
视频分析设备平台EasyCVR安防视频小知识:安防监控常见故障精准排查方法
随着安防监控技术的飞速发展,监控系统已经成为现代安防体系中不可或缺的核心组成部分,广泛应用于安防监控、交通管理、工业自动化等多个领域。然而,监控系统的稳定运行高度依赖于设备的正确配置、线路的可靠连接以及电源的稳定供电。在实际应…...
Linux论坛安装
事前准备 1、Discuz_X3.5_SC_UTF8_20230520的压缩包。 2、一台虚拟机,xshell和xftp(用来传输文件) 安装httpd 软件并将压缩包移动到指定目录 mount /dev/sr0 /mnt #### 挂载光盘到 /mnt 目录 dnf install httpd -y ### 安装http…...
瑞吉外卖-分页功能开发中的两个问题
1.分页功能-前端页面展示显示500 原因:项目启动失败 解决:发现是Category实体类中,多定义了一个删除字段,但是我数据库里面没有is_deleted字段,导致查询数据库失败,所以会导致500错误。因为类是从网上其他帖…...
深入理解HotSpot JVM 基本原理
关于JAVA Java编程语言是一种通用的、并发的、面向对象的语言。它的语法类似于C和C++,但它省略了许多使C和C++复杂、混乱和不安全的特性。 Java 是几乎所有类型的网络应用程序的基础,也是开发和提供嵌入式和移动应用程序、游戏、基于 Web 的内容和企业软件的全球标准。. 从…...
[原理分析]安卓15系统大升级:Doze打盹模式提速50%,续航大幅增强,省电提升率5%
技术原理:借鉴中国友商思路缩短进入Doze的时序 开发者米沙尔・拉赫曼(Mishaal Rahman)在其博文中透露,谷歌对安卓15系统进行了显著优化,使得设备进入“打盹模式”(Doze Mode)的速度提升了50%,并且部分机型的待机时间因此得以延长三小时。设备…...
人工智能在慢病管理中的具体应用全集:从技术落地到场景创新
一、AI 赋能慢病管理:技术驱动医疗革新 1.1 核心技术原理解析 在当今数字化时代,人工智能(AI)正以前所未有的态势渗透进医疗领域,尤其是在慢性病管理方面,展现出巨大的潜力和独特优势。其背后依托的机器学习、深度学习、自然语言处理(NLP)以及物联网(IoT)与可穿戴设…...
视频生成上下文并行方案
在多张rtx4090上的并行生成方案,主要就是xdit和paraattention中的并行上下文注意力机制。希望找到一个和skyreel一致的para attn的并行方案。 1.ParaAttention https://github.com/chengzeyi/ParaAttentionhttps://github.com/chengzeyi/ParaAttention目前只支持了文生视频的…...
Unity接入安卓SDK(3)厘清Gradle的版本
接入过程中,很多人遇到gradle的各种错误,由于对各种gradle版本的概念不甚了了,模模糊糊一顿操作猛如虎,糊弄的能编译通过就万事大吉,下次再遇到又是一脸懵逼。所以我们还是一起先厘清gradle的版本概念。 1 明晰概念 …...
牛行为-目标检测数据集(包括VOC格式、YOLO格式)
牛行为-目标检测数据集(包括VOC格式、YOLO格式) 数据集: 链接: https://pan.baidu.com/s/1hTLiiNOJYjzcejNwZpVsqA?pwdzhhb 提取码: zhhb 数据集信息介绍: 共有 8869张图像和一一对应的标注文件 标注文件格式提供了两种&#x…...
ubuntu 22.04 安装和配置 mysql 8.0,设置开机启动
# 更新软件包列表 sudo apt update && sudo apt upgrade -y # 安装MySQL 8.0 sudo apt install mysql-server-8.0 -y # 启动MySQL服务并设置开机启动 sudo systemctl start mysql sudo systemctl enable mysql # 安全安装MySQL,一路回车 sudo mysql…...
掌握Go空接口强大用途与隐藏陷阱
掌握Go空接口:强大用途与隐藏陷阱 Go语言中的空接口interface{}初看像是一种超能力工具。它能容纳任何东西——数字、字符串、结构体,应有尽有。但能力越大责任越大……如果不小心使用,它也会带来一堆麻烦。本文将深入探讨interface{}的工作原理,挖掘其合理的使用场景,并…...
CSS预处理工具有哪些?分享主流产品
目前主流的CSS预处理工具包括:Sass、Less、Stylus、PostCSS等。其中,Sass是全球使用最广泛的CSS预处理工具之一,以强大的功能、灵活的扩展性以及完善的社区生态闻名。Sass通过增加变量、嵌套、混合宏(mixin)等功能&…...
【2025面试Java常问八股之redis】zset数据结构的实现,跳表和B+树的对比
Redis 中的 ZSET(Sorted Set,排序集合)是一种非常重要的数据结构,它结合了集合(Set)和有序列表(List)的特点,能够存储一组 唯一 的元素,并且每个元素关联一个…...
VR制作攻略:如何制作VR
VR制作基础步骤 制作VR内容,特别是VR全景图,是一个涉及多个关键步骤的过程,包括设备准备、拍摄、拼接、后期处理及优化等。 以下将详细介绍这些步骤,并结合众趣科技的支持进行阐述。 1. 设备准备 相机: 选择配备广…...
Linux深度探索:进程管理与系统架构
1.冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。 截至目前,我们所认识的计算机,都是由⼀个个的硬件组件组成。 输入设备:键盘,鼠标…...
240421 leetcode exercises
240421 leetcode exercises jarringslee 文章目录 240421 leetcode exercises[31. 下一个排列](https://leetcode.cn/problems/next-permutation/)什么是字典序?🔁二次遍历查找 [82. 删除排序链表中的重复元素 II](https://leetcode.cn/problems/remove…...
批量导出多个文件和文件夹名称与路径信息到Excel表格的详细方法
在数字化时代,电脑中的文件和文件夹管理变得越来越重要啦。没有对文件进行定期整理时,寻找文件会我们耗费大量的时间。为了高效查找文件或文件夹,可以将其名称和路径记录下来并整理成清单。然而,当文件夹数量非常多时,…...
基于亚马逊云科技 Amazon Bedrock Tool Use 实现 Generative UI
背景 在当前 AI 应用开发浪潮中,越来越多的开发者专注于构建基于大语言模型(LLM)的 chatbot 和 AI Agent。然而,传统的纯文本对话形式存在局限性,无法为用户提供足够直观和丰富的交互体验。为了增强用户体验ÿ…...
Buildroot、BusyBox与Yocto:嵌入式系统构建工具对比与实战指南
文章目录 Buildroot、BusyBox与Yocto:嵌入式Linux系统构建工具完全指南一、为什么需要这些工具?1.1 嵌入式系统的特殊性1.2 传统开发的痛点二、BusyBox:嵌入式系统的"瑞士军刀"2.1 什么是BusyBox?2.2 核心功能2.3 安装与使用2.4 典型应用场景三、Buildroot:自动…...
Android 最简单的native二进制程序
Android.bp cc_binary {name: "my_native_bin",srcs: ["main.cpp"],cflags: ["-Wall", // 启用标准警告"-Werror", // 将警告视为错误"-fPIE", // 生成位置无关代码"-pie", …...
VR、AR、互动科技:武汉数字展馆制作引领未来展览新体验
在科技飞速发展的今天,数字化技术正以前所未有的速度渗透到各个领域,展馆行业也不例外。数字展馆,作为一种新兴的展示形式,正逐渐走进大众的视野,成为当下展馆发展的新潮流。 那么,究竟什么是数字展馆呢&am…...