- 博客(1098)
- 资源 (20)
- 收藏
- 关注
原创 C++ Qt零基础入门进阶与企业级项目实战教程与学习方法分享
本套课程由浅入深,详细的介绍了C++入门、Qt入门进阶到企业级项目实战、C++ Qt开源项目学习。相信通过本套教程的3门课程的学习,大家可以很好的掌握C++ Qt开发,课程提供答疑服务。
2023-09-21 23:00:33
6247
原创 2026华为OD面试题100:上班之路
Jungle 生活在美丽的蓝鲸城,大马路都是方方正正的格子,但每天马路的封闭情况都不一样。地图由以下元素组成:- `.` 空地,可以走- `*` 路障,不能走- `S` Jungle 的家,起点- `T` 公司,终点Jungle 只能上下左右走,并且**拐弯次数有限制**,最多只能拐 `K` 次。请问能否从家走到公司?**输入描述**第一行三个整数 `R C K`,分别表示地图行数、列数、最多允许拐弯次数。接下来 `R` 行,每行 `C` 个字符,表示地图。**输出描述**
2026-09-28 13:15:00
173
原创 2026华为OD面试题099:对称美学
对称就是最大的美学,现有一道关于对称字符串的题目。已知:- 第 1 个字符串:`R`- 第 2 个字符串:`BR`- 第 3 个字符串:`RBBR`- 第 4 个字符串:`BRRBRBBR`- 第 5 个字符串:`RBBRBRRBBRRBRBBR`规律是:第 `i` 个字符串 = 第 `i-1` 个字符串取反,再拼上第 `i-1` 个字符串。取反就是把 `R` 和 `B` 互换。这些字符串长度是 `2` 的幂,第 `N` 个字符串长度是 `2^(N-1)`,长得飞快,没法真的拼出来。现在
2026-09-28 07:00:00
46
原创 2026华为OD面试题098:欢乐的周末
小华和小为是好朋友,约好周末一起吃饭。两人在地图上选了若干个聚餐地点,但有些地点被自然地形挡着走不过去。问:小华和小为两个人都能到达的聚餐地点有几个?地图用一个 `m x n` 的矩阵表示:- `0` 是通畅的道路- `1` 是障碍物,只有 1 是障碍- `2` 是小华或小为,地图里有且仅有 2 个,都是非障碍- `3` 是被选中的聚餐地点,也是非障碍
2026-09-23 19:45:00
233
原创 2026华为OD面试题097:国际移动用户识别码(IMSI)匹配
小明是核心网工程师,客户交给小明一个任务:给定一个网络配置列表,每个配置是一个字符串,仅由数字和 `*`、`?` 符号组成。输入用户的 IMSI(国际移动用户识别码),根据以下规则匹配配置列表:- `*` 匹配 0 个或连续多个任意字符(每个配置字符串中 `*` 不会超过一个)。- `?` 匹配单个任意字符,但仅当该字符在 IMSI 中的下标为奇数时才有效(下标从 0 开始)。例如模式 `123?` 中的 `?` 可以匹配 IMSI `123456789012345` 下标为 3 的字符 `4`,
2026-09-23 07:00:00
40
原创 2026华为OD面试题096:素数伴侣
定义两个正整数 `a` 和 `b` 是"素数伴侣",当且仅当 `a + b` 是一个素数。现在从给定的 `n` 个正整数里挑选出最多的"素数伴侣"对,输出对数。保证 `n` 为偶数,一个数字只能使用一次。输入描述:第一行输入一个正偶数 `n`(`2 <= n <= 100`),代表数字个数。第二行输入 `n` 个正整数 `a1, a2, ..., an`(`1 <= ai <= 3 * 10^4`)。输出描述:输出挑选出的"素数伴侣"的最大对数。
2026-09-22 12:30:00
61
原创 2026华为OD面试题095:最小矩阵宽度
给定一个 `N * M` 的矩阵(包含 `N * M` 个整数),和一个包含 `K` 个整数的数组。要求在这个矩阵中找一个宽度最小的子矩阵,子矩阵要包含数组中所有的整数。输入描述:第一行输入两个正整数 `N`、`M`,表示矩阵大小。接下来 `N` 行 `M` 列表示矩阵内容。下一行包含一个正整数 `K`。下一行包含 `K` 个整数,表示所需包含的数组,`K` 个整数可能存在重复。所有输入数据小于 1000。输出描述:输出一个整数,表示满足要求子矩阵的最小宽度,若找不到输出 `-1`。
2026-09-22 07:00:00
164
原创 2026华为OD面试题094:高矮个子排队
一队小朋友身高各不相同,用一个正整数数组表示,比如 `{5,3,1,2,3}`。现在要让小朋友排成一排,按"高矮高矮"交替的顺序排列,第一个位置从"高"开始:- 偶数下标(0、2、4…)是"高"位,这个小朋友要比相邻的高或相等- 奇数下标(1、3、5…)是"矮"位,这个小朋友要比相邻的矮或相等要求移动距离尽量小,输出排好序后的身高序列。
2026-09-21 13:45:00
188
原创 2026华为OD面试题093:IPv4地址转换成整数
存在一种虚拟 IPv4 地址,由 4 小节组成,每节的范围为 0 到 255,以 `#` 号间隔。虚拟 IPv4 地址可以转换为一个 32 位的整数。例如:- `128#0#255#255`,转换为 32 位整数的结果为 2147549183(0x8000FFFF)- `1#0#0#0`,转换为 32 位整数的结果为 16777216(0x01000000)现以字符串形式给出一个虚拟 IPv4 地址,限制第 1 小节的范围为 1 到 128,即每一节范围分别为 `(1~128)#(0~255)#(
2026-09-21 07:00:00
154
原创 2026华为OD面试题092:不爱施肥的小布
某农场主管理了一大片果园,`fields[i]` 表示不同果林的面积,单位是 m²。现在要为所有果林施肥且必须在 n 天之内完成,否则影响收成。小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林施肥完后当天不再进行施肥作业。假设施肥机的能效为 k,单位是 m²/day。请问至少租赁能效 k 为多少的施肥机才能确保不影响收成?如果无法完成施肥任务,则返回 -1。输入描述:第一行输入 m 和 n,m 表示 fields 中的元素个数,n 表示施肥任务必须在 n 天内(含 n 天)完成。第二行输入
2026-09-17 22:08:03
623
原创 2026华为OD面试题091:查找充电设备组合
某个充电站,可提供 n 个充电设备,每个充电设备均有对应的输出功率。任意个充电设备组合的输出功率总和,均构成功率集合 P 的 1 个元素。功率集合 P 的最优元素,表示最接近充电站最大输出功率 p_max 的元素。输入描述:输入为 3 行。- 第 1 行为充电设备个数 n。- 第 2 行为每个充电设备的输出功率。- 第 3 行为充电站最大输出功率 p_max。输出描述:功率集合 P 的最优元素。
2026-09-17 22:06:12
158
原创 2026华为OD面试题090:打印文件
有 5 台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有 1 到 10 不同的优先级,数字越大优先级越高。打印机会从自己的待打印队列里选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这 5 台打印机的打印过程。
2026-09-15 14:45:00
46
原创 2026华为OD面试题089:单词倒序
输入一行英文句子,里面包含英文字母、空格以及 `,` `.` `?` 三种标点符号。请把句子内每个单词进行倒序,并输出倒序后的语句。说白了,每个由字母组成的单词都要反过来写,标点和空格原样保留在原来的位置。输入描述:输入字符串 S,长度 `1 ≤ N ≤ 100`。输出描述:输出逆序后的字符串。补充说明:标点符号左右的空格个数 ≥ 0,单词之间的空格 > 0。
2026-09-15 06:00:00
34
原创 2026华为OD面试题088:分界线
分界线 = 字母重排匹配,按指纹计数比对。每个单词字母排序得到指纹报纸指纹计数,匿名信指纹需求报纸次数够用就 true,否则 false用过的报纸单词要扣掉,不能重复用关键是单词必须整体对应,不能把多个报纸单词的字母拼成一个匿名信单词。排序指纹正好天然保证这一点。你做这种字母重排题,是排序还是直接数 26 个字母的频次?欢迎在评论区聊聊。
2026-09-14 10:30:00
141
原创 2026华为OD面试题087:关联端口组合并
有 `M`(`1 <= M <= 10`)个端口组,每个端口组是长度为 `N`(`1 <= N <= 100`)的整数数组。如果端口组间存在 2 个及以上不同端口相同,则认为这两个端口组互相关联,可以合并。第一行输入端口组个数 `M`,再输入 `M` 行,每行逗号分隔,代表端口组。输出合并后的端口组用二维数组表示。输入描述:- 端口组内数字可以重复输出描述:1. 组内相同端口仅保留一个,从小到大排序2. 组外顺序保持输入顺序3. 若 `M` 或 `N` 不在限定范围内,统一输出一
2026-09-14 07:00:00
158
原创 2026华为OD面试题086:天然蓄水库
公元 2919 年,人类终于发现了一颗宜居星球 X 星。现想在 X 星一片连绵起伏的山脉间建一个天然蓄水库,如何选取水库边界,使蓄水量最大?要求:- 山脉用正整数数组 `s` 表示,每个元素代表山脉的高度- 选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水,蓄水量需排除山脉占用的空间- 蓄水量的高度为两边界的最小值- 如果出现多个满足条件的边界,应选取距离最近的一组边界
2026-09-10 08:45:00
210
原创 2026华为OD面试题085:垃圾信息拦截
大众对垃圾短信深恶痛绝,希望能对垃圾短信发送者进行识别。为此很多软件增加了垃圾短信识别机制。经分析,正常用户的短信通常具备交互性,而垃圾短信往往是大量单向的短信。按照如下规则进行垃圾短信识别:本题中,发送者 A 符合以下条件之一的,则认为 A 是垃圾短信发送者:- A 发送短信的接收者中,没有发过短信给 A 的人数 `L > 5`- A 发送的短信数 - A 接收的短信数 `M > 10`- 如果存在 X,A 发送给 X 的短信数 - A 接收到 X 的短信数 `N > 5`
2026-09-10 07:00:00
62
原创 2026华为OD面试题084:贪心的商人
商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。注:同一件商品可以反复买进和卖出。输入描述:- 第一行输入商品数量 `number`- 第二行输入商人售货天数 `days`- 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in
2026-09-08 15:30:00
269
原创 2026华为OD面试题083:上班之路
Jungle 生活在美丽的蓝鲸城,大马路都是方方正正,但每天马路的封闭情况都不一样。地图由以下元素组成:1. `.` 空地,可以达到2. `*` 路障,不可达到3. `S` Jungle 的家4. `T` 公司限制 Jungle 拐弯的次数,同时 Jungle 可以清除给定个数的路障。任务是计算 Jungle 是否可以从家里出发到达公司。
2026-09-08 07:00:00
37
原创 2026华为OD面试题082:对称字符串
对称就是最大的美学,现有一道关于对称字符串的美学题。已知:- 第 1 个字符串:`R`- 第 2 个字符串:`BR`- 第 3 个字符串:`RBBR`- 第 4 个字符串:`BRRBRBBR`- 第 5 个字符串:`RBBRBRRBBRRBRBBR`规律是:第 `i` 个字符串 = 第 `i - 1` 个字符串的**取反** + 第 `i - 1` 个字符串。取反规则 `R -> B`,`B -> R`。现在告诉你 `n` 和 `k`,求第 `n` 个字符串的第 `k` 个字符是什么(`
2026-09-07 22:55:48
183
原创 2026华为OD面试题081:最少数量线段覆盖
给定坐标轴上的一组线段,线段的起点和终点均为整数,且长度不小于 1。请你从中找到**最少数量的线段**,使得这些线段能覆盖住所有线段覆盖的范围。
2026-09-07 22:53:57
61
原创 2026华为OD面试题080:最佳对手
游戏里,队伍通过匹配实力相近的对手进行对战。如果匹配的两支队伍实力相差太大,双方体验都不好。给定 `n` 个队伍的实力值,对它们进行两两匹配。两支队伍实力差距在允许的最大差距 `d` 以内,则可以匹配。要求:在**匹配队伍数量最多**的前提下,让匹配出的各组实力差距**总和最小**。> 输入描述:> 第一行 `n d`,队伍个数 `n` 和允许的最大实力差距 `d`(`2 <= n <= 50`,`0 <= d <= 100`)> 第二行 `n` 个队伍的实力值,空格分隔(`0 <= 各实力
2026-09-02 14:30:00
152
原创 2026华为OD面试题079:最差产品奖
A 公司准备对旗下的 `N` 个产品评选"最差奖"。评选方式是先给每个产品打分,然后从当前产品开始,往后取连续 `M` 个产品,找出其中评分最低的那个。要求输出每一个滑动窗口里的最差产品评分,按顺序组成序列。> 输入描述:> 第一行,数字 `M`,表示评分区间的长度,取值范围 `0 < M < 10000`> 第二行,产品的评分序列,比如 `12,3,8,6,5`,产品数量 `N` 范围 `-10000 < N < 10000`> 输出描述:> 评分区间内最差产品的评分序列,逗号分隔
2026-09-02 07:00:00
226
原创 2026华为OD面试题078:约瑟夫问题
输入一个由随机数组成的数列(每个数都是大于 0 的整数,长度已知),和初始计数值 `m`。从数列首位置开始计数,数到 `m` 后,把该位置的数值替换计数值 `m`,并将该位置的数出列,然后从下一位置重新开始计数,直到所有数出列为止。如果计数到达数列尾端,就返回首位置继续。输出数值出列的顺序。
2026-09-01 20:27:03
139
原创 2026华为OD面试题077:5键键盘的输出
有一个特殊的 5 键键盘,上面有 `a`、`ctrl-c`、`ctrl-x`、`ctrl-v`、`ctrl-a` 五个键。- `a` 键在屏幕上输出一个字母 `a`- `ctrl-c` 把当前选择的字母复制到剪贴板- `ctrl-x` 把当前选择的字母复制到剪贴板,并清空选择的字母- `ctrl-v` 把剪贴板里的字母输出到屏幕- `ctrl-a` 选择当前屏幕上的所有字母
2026-09-01 20:25:24
71
原创 Windows QtCreator CMake项目编译脚本
本篇博客介绍Win11下QtCreator CMake项目如何使用脚本进行编译。上面我用的是VS2026的路径,如果是VS2022可以做相应的修改。
2026-09-01 16:17:31
48
原创 OpenGL是个状态机,如何理解
把 OpenGL 理解成一个巨大的全局状态机:你调用的大多数函数不是在"做一件事",而是在修改 OpenGL 内部的某个状态;而少数函数(如 glDrawArrays、glDrawElements)才是真正的"执行"——它们根据当前的所有状态来完成渲染。也就是说:现在的绘制结果,取决于你之前设置过的所有状态,而不是这次调用本身。
2026-08-30 11:57:53
204
原创 2026华为OD面试题076:表达式括号匹配
给一个数学表达式,比如 `(1+(2+3)*(3+(8+0))+1-2)`,今天不算它的值,只看括号用得对不对。括号里面的表达式可能有空格、可能有错误,这些都不管,只关心括号本身配不配对。输入描述:给出一行表达式,长度不超过 100。输出描述:如果括号匹配正确,输出括号的对数;否则输出 `-1`。
2026-08-25 15:30:00
50
原创 2026华为OD面试题075:解密犯罪时间
警察办案,线人给了一个可能犯罪的时间,形如 `HH:MM`。这个时间是改过的,解密规则是:用当前这个时间出现过的数字,构造出距离当前时间最近的下一个时刻,就是真正的犯罪时间。每个出现的数字可以无限次使用。输入描述:形如 `HH:MM` 的字符串,表示原始输入。保证输入合法,比如 `01:35` 合法,`1:35` 不合法。输出描述:形如 `HH:MM` 的字符串,表示推理出来的犯罪时间。最近的时刻有可能落在第二天。
2026-08-25 07:45:00
53
原创 2026华为OD面试题074:找出作弊的人
公司组织了一次考试,成绩出来了,想先筛一遍看看有没有人作弊。员工太多,得先过滤。过滤规则:找到考试成绩分差最小的员工 ID 对 `(p1, p2)`,要求 `p1 < p2`,把这些对都列出来。- 员工个数 `n`:`0 < n < 100000`- 员工 ID 为整数:`0 <= id <= 100000`- 考试成绩为整数:`0 <= score <= 300`输入描述:第一行输入员工数 `n`。接下来 `n` 行,每行两个整数,分别表示员工 ID 和成绩。
2026-08-24 22:00:00
241
原创 C++ 无锁编程实战:Boost.Lockfree 无锁队列完全解析(原理 + 12 个案例 + 性能实测)
本文从无锁编程的底层原理(CAS、内存序、ABA 问题)讲起,覆盖 `boost::lockfree::queue`、`spsc_queue`、`stack` 三大组件的用法与内部实现,提供 **12 个可直接编译运行的完整案例**,并在真实机器上做了 mutex 与无锁队列的**性能对比实测**。所有代码均在 **Windows 11 + i7-12700H + MSVC 19.44(VS2022)/O2** 下编译运行验证,输出均为真实运行结果。适用版本:Boost 1.66+
2026-08-24 16:24:37
193
原创 2026华为OD面试题073:中庸行者
给定一个 m*n 的整数矩阵作为地图,矩阵数值为地形高度。中庸行者选择地图中的任意一点作为起点,尝试往上、下、左、右四个相邻格子移动。移动时有如下约束:- 中庸行者只能上坡或者下坡,不能走到高度相同的点- 不允许连续上坡或者连续下坡,需要交替进行- 每个位置只能经过一次,不能重复行走请给出中庸行者在本地图内能连续移动的最大次数。输入描述:第一行两个数字,分别为行数 m 和每行的列数 n。接下来 m 行,每行 n 个整数表示地形高度。输出描述:能连续移动的最大次数。
2026-08-24 07:00:00
172
原创 2026华为OD面试题072:二进制差异数
对于任意两个正整数 A 和 B,定义它们之间的差异值和相似值:- 差异值:A、B 转换成二进制后,每一位对应 bit 值不相同则为 1,否则为 0(即异或)- 相似值:A、B 转换成二进制后,每一位对应 bit 值都为 1 则为 1,否则为 0(即按位与)现有 n 个正整数 A0 到 A(n-1),问有多少对 (i, j)(0 <= i < j < n),Ai 和 Aj 的差异值大于相似值。举例:A=5(二进制 101),B=3(二进制 011),差异值为 110(6),相似值为 001(1)
2026-08-18 17:30:00
155
原创 2026华为OD面试题071:可以处理的最大任务数
在某个项目中有多个任务(用 tasks 数组表示)需要处理,其中 tasks[i] = [si, ei],你可以在 si <= day <= ei 中的任意一天处理该任务。每天最多处理一个任务,请返回可以处理的最大任务数。输入描述:第一行为任务数量 n,1 <= n <= 100000。后面 n 行表示各个任务的开始时间和终止时间,用 si, ei 表示,1 <= si <= ei <= 100000。输出描述:一个整数,表示可以处理的最大任务数。
2026-08-18 08:45:00
47
原创 2026华为OD面试题070:按身高和体重排队
某学校举行运动会,学生们按编号(1、2、3……n)进行标识,现需要按照身高由低到高排列;对身高相同的人,按体重由轻到重排列;对于身高体重都相同的人,维持原有的编号顺序关系。请输出排列后的学生编号。输入描述:两个序列,每个序列由 n 个正整数组成(0 < n <= 100)。第一个序列中的数值代表身高,第二个序列代表体重。输出描述:排列结果,每个数值都是原始序列中的学生编号,编号从 1 开始。
2026-08-17 19:00:00
54
原创 2026华为OD面试题069:跳马
马是象棋中的棋子,走法是每步直一格再斜一格,即先横着或直着走一格再斜走一个对角线,俗称"马走日"字。给定 m 行 n 列的棋盘,棋盘上只有象棋中的棋子"马",并且每个棋子有等级之分。等级为 k 的马可以跳 1 到 k 步(走的方式与象棋中"马"的规则一样,不可以超出棋盘)。问是否能将所有马跳到同一位置,如果存在,输出最少需要的总步数(每匹马的步数相加),不存在则输出 -1。允许不同的马在跳的过程中跳到同一位置。坐标为 (x, y) 的马跳一次可以跳到 (x+1,y+2)、(x+1,y-2)、(x+2
2026-08-17 06:30:00
153
原创 2026华为OD面试题068:模拟目录管理
实现一个模拟目录管理功能的软件,输入一个命令序列,输出末尾一条命令的运行结果。支持的命令:1. `mkdir 目录名称`:在当前目录下创建子目录,已存在同名目录则不执行。无输出。2. `cd 目录名称`:进入指定目录,`cd ..` 返回上级目录,目录不存在则不执行。无输出。3. `pwd`:输出当前所在路径字符串。
2026-08-11 13:30:00
174
原创 2026华为OD面试题067:田忌赛马
给定两个只包含数字的数组 a 和 b,调整数组 a 里面数字的顺序,使得尽可能多的 `a[i] > b[i]`。数组 a 和 b 中的数字各不相同。输出所有可以达到最优结果的 a 数组的数量。输入描述:- 第一行是数组 a 的数字,空格隔开,a 大小不超过 10。- 第二行是数组 b 的数字,空格隔开,b 大小不超过 10。输出描述:输出所有可以达到最优结果的 a 数组数量。
2026-08-11 06:45:00
48
原创 2026华为OD面试题066:机器人仓库搬砖
机器人搬砖,一共有 N 堆砖存放在 N 个不同仓库中,第 i 堆有 `bricks[i]` 块砖头,要求在 8 小时内搬完。机器人每小时能搬砖的数量取决于有多少能量格,机器人一小时只能在一个仓库搬砖,能量格每小时补充一次且只在这一小时有效。为了让损耗最小,要尽量减小每次补充的能量格数。请计算每小时给机器人充能的最小能量格数。
2026-08-10 19:00:00
52
C++ QMainWindow无边框窗口自定义标题栏可拖拽移动拉伸改变窗口大小
2024-04-23
Qt蓝牙串口源码支持十六进制发送、字符发送、定时发送
2022-02-22
支持向量机通俗导论(理解SVM的三层境界)PDF
2018-04-13
jsoncpp_sdk_x64.rar
2020-04-06
C# TCP网络通信示例:多人聊天发文件
2018-04-02
很全的 Qt qss
2020-09-29
c++ PImpl实现机制
2021-09-15
C++/OpenCV2.4.9 数字精确识别源码
2017-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅