自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(165)
  • 收藏
  • 关注

原创 Git 添加文件基本操作与简单原理

本文围绕 Git 添加与修改命令及底层原理展开,先以米雪儿的故事具象化工作区、暂存区、版本库的核心概念,再详解git status「git add「git commit等基础命令及撤销操作。深入剖析.git目录下 index、HEAD、refs、objects 的存储逻辑,梳理提交完整链路,总结新手常见误区。帮助读者从实操到原理理解 Git 版本控制核心,规避操作失误,掌握精准版本追溯的底层逻辑。

2026-01-19 16:06:06 452

原创 Git 程序员的时光机:Git的从零全平台安装配置与 Unity 项目配置 (含步骤截图)

本文深入浅出地介绍了版本控制神器 Git,将其比作程序员的“时光机”,旨在解决代码管理中“怕错”与“怕乱”的痛点。文章详细涵盖了 CentOS、Ubuntu 及 Windows 多平台的安装教程与全局配置,并通过 VS Code 和 Visual Studio 演示了初始化仓库及提交代码的实操流程。此外,特别针对 Unity 开发者提供了核心配置指南,包括元文件模式、序列化设置及 .gitignore 规则,有效避免资源冲突。文末附带高频命令速查表,帮助读者快速上手,实现高效、有序的项目管理与团队协作。

2026-01-12 22:23:46 820 2

原创 海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(2) 作答语言:C/C++ 哈夫曼编码 LRU

本文是海致星图数据库内核研发实习生笔试的复盘第二篇,聚焦两道实际应用型算法题展开详解。其中哈夫曼编码题,先阐释哈夫曼编码核心概念(前缀编码、哈夫曼树、带权路径长度WPL),提炼出“WPL等于所有非叶子节点权重和”的关键结论,基于此设计了以最小堆(优先队列)为核心的高效解法,给出适配大数据量的C++代码(兼顾溢出处理、输入加速、边界场景),并分析时间/空间复杂度、总结溢出、堆类型错误等常见坑点;LRU缓存结构设计题,明确了初始化、get、set三大核心功能及O(1)时间复杂度要求

2026-01-11 18:44:16 709 4

原创 C++ 队列 宽度优先搜索 BFS 力扣 429. N 叉树的层序遍历 每日一题

本文针对力扣103题“二叉树的锯齿形层序遍历”提供了完整且深入的题解。作为BFS分层遍历的进阶高频面试题,题目核心是在基础层序遍历上增加“奇偶层反向”逻辑。文章先解析题目价值与面试考察重点,再详解“BFS分层收集+数组反转控制方向”的核心算法,通过表格模拟遍历过程具象化抽象逻辑,同时点明避坑要点。给出规范C++代码并对比队列实现效率,补充复杂度分析。整体结构从题目定位到代码落地层层递进,兼顾专业性与可读性,既适合夯实树遍历基础,也能满足面试备考需求,助力读者掌握“基础框架+定制化需求”的解题思维。

2026-01-11 16:28:44 772 2

原创 海致星图招聘 数据库内核研发实习生 一轮笔试 总结复盘(1) 作答语言:C/C++ 链表 二叉树

考试方式是邮箱发送网址,进行牛客网线上笔试,四道编程题目,两道标准算法题目,两道实际应用型算法题,本篇博客分享前两道题。(四道题全部写在一起篇幅太大了)旋转链表问题的核心是通过构建环形链表简化旋转操作,结合取模运算优化旋转次数,同时需精准定位新头节点的前驱节点以断开环形结构,边界条件(空链表、单节点链表)的处理是避免错误的关键。二叉树分层打印的核心是利用队列实现广度优先遍历,通过记录每一轮循环前的队列大小区分不同层节点,确保每一轮仅处理当前层节点,子节点入队的时机和顺序决定了遍历的正确性。

2026-01-09 19:34:51 608 1

原创 C++ 队列 宽度优先搜索 BFS 力扣 429. N 叉树的层序遍历 C++ 每日一题

本文聚焦力扣429题N叉树的层序遍历,解析这一BFS经典应用的解题思路与实现。核心为基于队列的BFS+分层统计,通过记录循环前队列大小确定每层节点数,实现分层收集节点值,同时详解边界处理、队列操作等关键细节,给出C++实现代码并分析O(n)的时间与空间复杂度。还补充了DFS递归解法,通过记录节点层级完成分层遍历。本文还指出该题对夯实BFS基础、训练分层思维的价值,以及面试考察的核心方向,助力掌握树层级问题的通用解题思路。

2026-01-09 19:32:13 693 2

原创 C++ 栈 模拟 力扣 946. 验证栈序列 每日一题 题解

本文围绕力扣946.验证栈序列这道栈基础标杆题展开,先明确题目核心是判断按入栈序列pushed入栈后,能否通过任意时刻弹栈得到出栈序列popped。阐述题目考察栈“后进先出”特性与模拟思维的核心价值,及面试高频考察方向。详解“模拟栈操作”的算法原理,通过示例完整呈现入栈、循环检查弹栈的过程。给出简洁C++代码并分析复杂度,最后预告后续队列与BFS相关题目。全文聚焦核心考点,逻辑清晰,助力夯实数据结构基础与解题思维。

2026-01-03 21:51:48 1033 5

原创 C++ 栈 模拟 力扣 394. 字符串解码 每日一题 题解

本文围绕力扣 394. 字符串解码问题展开,核心讲解栈 + 分层解析的解题思路。先阐述题目价值与面试考察方向,再通过双栈(数字栈、字符串栈)分情况处理数字、括号、字母,结合实例完整模拟嵌套解析过程,补充关键细节与优化技巧,给出 C++ 代码实现及复杂度分析。旨在帮助读者夯实栈的应用基础,掌握嵌套结构处理逻辑,实现解题思路迁移。

2025-12-28 17:08:37 1042 2

原创 C++ 栈 模拟 力扣 227. 基本计算器 II 题解 每日一题

本文围绕力扣 227. 基本计算器 II 展开解析,阐述其提升字符串处理、栈应用及逻辑严谨性的学习价值。核心采用 “单栈 + 单符号” 简化思路处理运算优先级,将减法转加负数,乘除优先与栈顶计算,最终求和得结果。还详解了多位数解析、空格忽略等关键细节,给出 C++ 实现代码并分析时间 / 空间复杂度均为 O (n),帮助读者吃透题型并为后续同类问题铺垫。

2025-12-27 19:46:33 1050 2

原创 Linux UDP 服务端 实战思路 C++ 套接字 源码包含客户端与服务端 游戏服务端开发基础

linux 手搓UDP通信 的服务器

2025-12-25 22:43:52 1085 2

原创 Linux 进程核心解析 fork()详解 多进程的创建与回收 C++

本文围绕 Linux 进程核心知识展开,系统讲解进程的定义、组成及与程序的区别,重点阐述 PCB(task_struct)及 PID、PPID 等核心属性。介绍了通过系统调用和终端命令获取进程 ID 的方法,详解 /proc 虚拟文件系统的作用与关键软链接。核心解析 fork () 创建子进程的 “一次调用、两次返回” 特性、父子进程的资源共享与独立性,以及多进程创建、调度与资源回收逻辑,对比 fork () 与 vfork ()、exec 系列等相关接口的差异。最后总结核心要点与编程实战注意事项,并配套练

2025-12-19 20:12:10 992 7

原创 C++ 栈 模拟 力扣 844. 比较含退格的字符串 题解 每日一题

本文聚焦力扣844题“比较含退格的字符串”,该题是栈在“撤销/回退类场景”的经典应用,延续并拓展了“字符串模拟栈”的核心技巧。文章先阐述题目背景与解题价值,强调其对问题转化、工具复用思维的强化作用;再详解算法原理,核心是通过栈模拟文本编辑器退格处理逻辑——普通字符入栈、退格字符弹栈(非空时),预处理后比较两字符串最终形态;随后给出简洁高效的C++实现,含代码解读与复杂度分析(时间O(n+m)、空间O(n+m)),并补充空间优化思路;最后总结栈思维的适用场景与解题技巧,为后续“表达式计算”等进阶题目铺垫,助力

2025-12-04 19:07:32 926 2

原创 C++ 栈 模拟 1047. 删除字符串中的所有相邻重复项 题解 每日一题

本文围绕力扣1047题“删除字符串中的所有相邻重复项”展开,核心讲解栈在相邻元素消除问题中的应用。首先分析题目特征,点明其对栈“后进先出”特性的精准适配,帮助读者建立“相邻匹配/抵消问题优先用栈”的思维。随后复习栈的构造、常用接口及适用场景,再通过栈的原始实现与字符串模拟栈的优化版本对比,阐述算法原理与优化思路。优化后的字符串版代码更简洁,时间和空间复杂度的常数因子更优。最后总结核心收获,强调栈的本质应用与优化思维,并预告后续相关习题,助力读者深化对栈数据结构的理解与实践。

2025-12-02 18:50:42 750 4

原创 C++ 高精度计算的讲解 模拟 力扣67.二进制求和 题解 每日一题

本文围绕高精度运算展开,指出C++原生类型存数范围与精度不足的问题,介绍高精度通过字符串/数组存数字每一位、模拟手算的核心思路。以力扣67题二进制求和为模板,详解加减乘类运算逻辑,单独拆解大数除法原理,提供对应C++代码实现,并附力扣练习题及下题预告。

2025-11-29 19:54:02 1085 2

原创 C++ 双指针 动态规划 力扣 5. 最长回文子串 每日一题 题解

本文用图解+实战代码深度拆解 LeetCode 5「最长回文子串」。先对比暴力/中心扩展/区间 DP 三种写法,给出可投产版 C++ 源码;再复盘长度计算、填表顺序、边界 case 四大易错点;最后补充面试反杀追问与 Manacher 优化路径,助你 10 分钟彻底吃透回文串,从容应对笔试与工程场景。

2025-11-25 20:13:13 965

原创 C++ 字符串 模拟 力扣 14. 最长公共前缀 每日一题 题解

本文围绕LeetCode 14“最长公共前缀”这一字符串经典入门题展开,解析其作为面试高频题的核心价值——夯实模拟思维、边界处理与代码优化能力。文章详细阐述横向遍历(两两对比)与纵向遍历(逐位验证)两种核心算法原理,提供完整可运行的C++代码,拆解关键细节与易错点,并进行复杂度分析。同时总结解题核心考点、思路迁移方向及常见错误,帮助读者不仅掌握本题解法,更能提升字符串处理能力,为后续复杂题型奠定基础,兼具入门指导与面试备考价值。

2025-11-23 18:01:04 830 2

原创 C++ 哈希表 容器组合应用 力扣 49. 字母异位词分组 每日一题 题解

本文聚焦力扣经典哈希表题目 “字母异位词分组”,系统解析解题思路与实现。该题是面试高频题,核心考察哈希表键值设计与泛式容器运用。文章先阐明题目价值与考察重点,再以 “找到异位词统一标识” 为突破口,详解 “排序 + 哈希表” 核心算法,给出完整 C++ 代码。同时剖析代码易错点、复杂度,补充计数法等优化思路与对比。内容兼顾基础与进阶,助力读者夯实容器使用能力,掌握哈希分组核心逻辑,实现解题思路迁移。

2025-11-20 18:07:18 1050 2

原创 C++ 哈希表 力扣 面试题 01.02. 判定是否互为字符重排 每日一题 题解

本文围绕力扣面试题 01.02 判定字符重排展开,该题是哈希表在字符频率统计场景的经典入门题,核心考察问题转化与数据结构选型能力。文章先明确题目要求——判断两字符串是否字符种类和数量一致仅排列不同,再分析暴力枚举全排列(O(n!)时间复杂度)的低效性,重点讲解最优的哈希频率统计思路:先通过长度不等快速排除无效情况,再用26位数组(对应小写字母)一次遍历增减抵消两字符串字符频率,最终检查数组是否全为0(O(n)时间、O(1)空间)。同时解读代码实现、复杂度及避坑点,对比两种算法差异,帮助巩固“用哈希表统计频率

2025-11-18 17:33:24 904 4

原创 C++ 哈希表 常用接口总结 力扣 1. 两数之和 每日一题 题解

本文围绕力扣经典入门题“两数之和”,系统讲解哈希表的应用逻辑。先介绍哈希表的本质、核心价值与使用场景,详解C++中unordered_map和unordered_set的常用接口,再针对题目展开算法分析——对比暴力枚举(O(n²)复杂度)与哈希表优化方案(O(n)复杂度),拆解“问题转化(两数和→单目标查找)”“键值设计(数值-下标映射)”“先查后插避重”等关键思路,给出完整代码实现与复杂度分析,点明容器使用误区与面试考点,帮助读者掌握“空间换时间”核心思维,为后续哈希表类题目打下基础。

2025-11-16 18:02:00 834 6

原创 C++ 面试高频考点 链表 迭代 递归 力扣 25. K 个一组翻转链表 每日一题 题解

本文深度拆解“K个一组翻转链表”这一链表进阶核心题,涵盖题目价值、算法原理、递归与迭代双实现及避坑指南。核心原理配合头插法翻转、组间衔接的动态GIF图,直观呈现指针变化过程,帮你快速攻克指针操作难点,两种实现的对比表更便于复习复盘。

2025-11-13 21:25:10 1030 1

原创 C++ 面试高频考点 链表 优先级队列 递归 力扣 23. 合并 K 个升序链表

本文聚焦力扣 23 题 “合并 K 个升序链表”,该题是面试高频考点,核心考察链表操作、算法优化等能力。文章先分析题目价值,随后详解三种解法:暴力解法通过迭代合并两链表实现,时间复杂度 O (nk²);优先级队列(小顶堆)借助堆筛选最小值节点,时间复杂度 O (nk log k);分治归并基于归并排序思想,拆分后合并子链表,时间复杂度同为 O (nk log k) 且空间更优。还对比各解法优劣、强调边界处理等避坑点,并给出思想迁移方向,最后预告下一道链表进阶难题,助力读者全面掌握相关考点。

2025-11-11 23:05:01 1089 1

原创 C++ 面试高频题 链表 模拟 力扣 143. 重排链表 题解 每日一题

本文聚焦力扣 143. 重排链表这道面试高频 “黄金综合题”,解析其将链表找中点、反转、合并三大核心操作整合的特性。题目要求将链表 L0→L1→…→Ln 重排为 L0→Ln→L1→Ln-1→…,且需实际交换节点而非修改值。核心思路是拆解问题:用快慢双指针定位中点,分割出前后半段;逆序后半段链表;再将前半段与逆序后的后半段交叉合并。文章详细拆解各步骤原理、配示意图与代码实现,补充边界处理、内存释放等面试关注细节,同时强化复杂问题拆解思维,助力读者夯实链表功底、适配面试考察需求。

2025-11-08 21:44:22 958 2

原创 C++ 链表 模拟 递归 迭代 力扣 24. 两两交换链表中的节点 题解 每日一题

本文围绕力扣 24 题 “两两交换链表中的节点” 展开,该题作为面试高频题,能强化多指针操作、递归与迭代转换及边界处理能力。文章详解两种解法:递归法通过拆解子问题,先处理后续链表再交换当前节点,明确终止条件与结果连接逻辑;迭代法借助虚拟头节点和多指针,循环处理每组节点交换,重点规避空指针问题。还分析了两种解法的时间与空间复杂度,总结核心技巧与面试注意事项,帮助读者扎实掌握链表操作,为解决复杂链表问题奠定基础。

2025-11-06 21:24:42 817 3

原创 C++ 算法题中链表的操作技巧总结 链表 模拟 力扣 2. 两数相加 题解 每日一题

本文围绕力扣 “两数相加” 链表题展开,先总结链表解题常用技巧,包括画图梳理思路、引入虚拟头节点、灵活定义节点及快慢双指针法。接着解析题目核心,即利用链表逆序存储特点模拟加法运算,重点处理进位和不同长度链表的遍历问题。通过对比繁琐与简洁两种代码实现,展现如何通过统一逻辑优化代码,并分析时间与空间复杂度。最后总结核心思路与关键技巧,强调题目对掌握链表操作的基础作用,同时预告后续 “两两交换链表中的节点” 题目解析。

2025-11-04 20:16:24 1056 4

原创 C++ 分治 归并排序解决问题 力扣 493. 反转对 题解 每日一题

本文聚焦力扣 493 题 “反转对”,核心讲解如何用归并排序优化解法,将暴力 O (n²) 复杂度降至 O (nlogn)。问题本质是寻找满足 i<j 且 nums [i]>2nums [j] 的数对,采用分治思想将反转对拆分为左子数组内部、右子数组内部及跨数组三类。关键创新在于拆分 “计数” 与 “排序” 阶段,利用子数组有序性,通过单向移动指针高效统计跨数组反转对,同时注意用 long long 避免 2nums [j] 的整数溢出问题。文章还对比了降序和升序两种排序计数思路,帮助读者深化对归并排序分治

2025-11-03 18:30:41 1082 2

原创 C++ 分治 归并排序解决问题 力扣 315. 计算右侧小于当前元素的个数 题解 每日一题

本文围绕力扣 315 题 “计算右侧小于当前元素的个数” 展开,核心讲解如何利用归并排序结合 “值 - 索引” 双数组同步排序的技巧解题。文章先分析题目价值,指出其对深化分治思想、掌握状态跟踪技巧的意义;接着阐述算法原理,重点说明将问题从 “全局计数” 转化为 “按原始位置计数” 的思路,以及通过降序排序、双数组绑定原始索引实现统计的核心逻辑;然后给出完整代码实现,解析关键细节;最后分析时间和空间复杂度,并总结思路迁移价值,为后续类似题目铺垫基础。

2025-11-01 20:29:08 1101 1

原创 C++ 分治 归并排序解决问题 力扣 LCR 170. 交易逆序对的总数 题解 每日一题

该博客聚焦力扣 LCR 170 交易逆序对问题,先阐明题目要求统计前高后低的股价对,指出暴力 O (n²) 解法超时局限。接着详解用归并排序解决的核心逻辑:将逆序对拆分为左子数组内部、右子数组内部、跨数组三类,利用归并 “拆分 - 合并” 特性,在合并有序子数组时高效统计跨数组逆序对,同时论证子数组排序不影响计数准确性。给出全局复用临时数组的优化代码,分析时间复杂度 O (nlogn)、空间复杂度 O (n),还提及该 “排序 + 统计” 思路的迁移价值,并预告后续 315 题讲解,为读者搭建从算法原理到实

2025-10-30 21:15:57 810 3

原创 C++ 分治 归并排序 归并排序VS快速排序 力扣 912. 排序数组 题解 每日一题

该文围绕力扣 912 题 “排序数组”,以归并排序为核心展开二刷解析。先说明二刷价值,即通过归并排序补充快排未覆盖的知识点,建立场景适配能力、拓宽算法优化思路并铺垫后续学习基础。接着阐述归并排序 “先拆分、再合并” 的原理,对比其与快排在分治顺序、遍历顺序等维度的差异。然后提供两种代码实现方案,分析临时数组复用策略及效率,还进行了时间和空间复杂度分析。最后总结归并排序要点,并预告下道相关题目。

2025-10-28 23:09:33 647 3

原创 C++ 分治 快速排序优化 三指针快排 力扣 面试题 17.14. 最小K个数 题解 每日一题

该文围绕力扣 “最小 K 个数” 问题展开,先点明题目核心是找出数组中最小的 k 个数,强调其学习价值,能打破全排序思维定式、衔接快速选择实战应用并覆盖工程边界场景。接着对比全排序法、堆选择法、计数排序法和快速选择法的逻辑、复杂度、优劣势及适用场景,指出快速选择法是通用最优解。随后详解快速选择法原理,给出 C++ 代码实现,分析函数无返回值的原因及优先选该方法的理由,还提示避坑要点,最后预告下一篇将讲解归并排序相关题目。

2025-10-26 20:37:04 903 1

原创 C++ 分治 快速选择算法 堆排序 TopK问题 力扣 215. 数组中的第K个最大元素 题解 每日一题

该文以 1024 程序员节为引,聚焦力扣 215 题 “数组中的第 K 个最大元素”。先点明题目价值,其为 Top K 问题经典代表,能深化算法思维、助于权衡解法及贴合工程场景。接着详解两种 O (n) 级核心算法:快速选择算法(基于三指针快排,通过区间划分与递归聚焦目标区间实现剪枝)与堆选择算法(用最小堆维护前 K 大元素),给出对应 C++ 代码,对比两者时空复杂度与适用场景,最后总结算法选择优先级、思维迁移方向及避坑指南,并预告下一道相关题目。

2025-10-24 19:55:45 1382 3

原创 C++ 分治 快速排序优化 三指针快排 力扣 912. 排序数组 题解 每日一题

本文围绕力扣 912 题 “排序数组” 展开,题目要求不依赖内置函数、以 O (nlogn) 时间复杂度和最小空间复杂度完成升序排序。常规快排在重复元素或有序数组场景下易超时,故引入三指针优化,将数组划分为 “小于、等于、大于” 基准值三区间,中间等值区间直接落位,避免无效递归。同时通过随机选基准值,进一步保障性能稳定。文中提供二路快排(参考)与三指针快排代码,分析时间复杂度(平均 O (nlogn))与空间复杂度(平均 O (logn))

2025-10-22 17:50:52 687 2

原创 C++ 分治 快排铺垫 三指针 力扣 75.颜色分类 题解 每日一题

该文围绕力扣 “颜色分类” 题展开,先点明题目要求原地排序含 0、1、2 的数组,再说明弄懂此题对面试提分、算法思维进阶等有重要意义。核心讲解三指针分治最优解,定义 left、i、right 指针划分区间,分析不同元素处理逻辑及细节,还给出计数统计、单指针两种解法的思路与代码。通过时间和空间复杂度对比凸显三指针法优势,最后总结解法选择、核心思维与易错点,并预告下道排序题。

2025-10-21 20:26:52 1108 5

原创 C++ 模拟题 力扣 1419. 数青蛙 题解 每日一题

该文围绕力扣 1419 “数青蛙” 题展开,先明确题目要求:判断蛙鸣字符串是否有效,有效则返回最少青蛙数,无效返回 - 1。核心是跟踪青蛙叫声阶段与复用,解析指出题目考察状态跟踪、多实现思路等,还提及隐蔽踩坑点。算法原理分三步,定义阶段与跟踪、处理字符流转状态、验证有效性。提供简单版和通用版两种代码实现,对比二者优缺与复杂度,最后总结模拟算法核心逻辑、技巧与避坑点,并预告下一题 “荷兰国旗问题”。

2025-10-20 09:53:51 928 3

原创 C++ 面试基础考点 模拟题 力扣 38. 外观数列 题解 每日一题

本文围绕力扣 “外观数列” 题展开,先明确题目核心是 “后项对前项进行行程长度编码”,如 countAndSay (4) 由 countAndSay (3)“21” 描述为 “1211”。解析指出该题是面试高频题,可考察基础能力、思维灵活性,还能帮规避编程错误、实现举一反三。算法上,先以双指针法实现单字符串描述,再通过递归(自顶向下,思路直白但有栈开销)或迭代(自底向上,无栈开销更高效)从 1 推导到 n。最后给出两种实现代码,对比其优缺点与复杂度,总结解题核心,并预告下一题 “数青蛙”。

2025-10-18 17:58:44 949 2

原创 C++ 模拟题 力扣 6. Z字形变换 题解 每日一题

该文围绕力扣 “Z 字形变换” 题展开,先明确题目核心是按 “Z” 路径排列字符串后逐行读取结果,而非实际绘图。分析其价值在于培养 “模拟转规律” 思维、处理典型边界条件及直观体现复杂度优化。先介绍模拟法思路及空间浪费、效率低的问题,再重点推导规律,得出周期 d=2*(numRows-1),第一行和最后一行字符位置为 “起始位置 + kd”,中间行为 “k+d 和 kd -k”。基于规律给出 C++ 代码实现,分析时间复杂度 O (n)、空间复杂度 O (n),最后总结核心思路与边界处理要点,并预告下一题

2025-10-15 16:39:43 1004 1

原创 定长内存池 思考实现过程 C++ 附源码

本文介绍了内存池的概念、定长内存池的设计实现及性能测试。内存池通过预分配大块内存自主管理,解决直接调用系统接口的效率低和碎片问题。定长内存池以模板类实现,优先分配回收的内存块,处理内存对齐和初始化,测试显示其在高频场景性能远超传统new/delete,提升约80%,适用于特定场景,也指出其适用边界及其他内存池方向。

2025-10-14 23:07:19 721 2

原创 C++ 模拟题 力扣495. 提莫攻击 题解 每日一题

该题解围绕“提莫攻击致艾希中毒”问题展开,先明确题目核心是计算重叠中毒区间总时长,指出其作为“区间重叠简化题”的练习价值,可培养场景转逻辑、边界处理能力。原理上通过比较相邻攻击间隔与中毒时长,分“不重叠(加完整时长)”“重叠(加间隔时长)”两类计算,强调最后一次攻击必加完整时长的边界点。代码实现采用O(n)时间、O(1)空间的线性遍历,兼顾简洁与高效,还补充遍历范围、特殊情况处理等细节。最后总结通用解题步骤,并预告同类“Z字形变换”题,引导举一反三。

2025-10-12 16:50:02 982 2

原创 C++ 模拟 力扣1576. 替换所有的问号 题解 每日一题

本文围绕模拟算法展开,先阐释其本质 —— 算法界的 “按图索骥”,思路易想但需注重代码落地,强调其是复杂算法的基础。接着给出模拟题解题思路,即把题目要求转化为清晰步骤,避免直接写代码导致卡壳。随后以力扣 1576. 替换所有的问号为例,说明该题作为模拟题模板的价值,覆盖常规逻辑与边界处理。解析算法原理,分一般情况和问号在开头 / 结尾的边界情况,还指出代码实现细节,如无需用哈希表,通过简单条件判断即可确定可用字母。

2025-10-10 13:15:53 826 2

原创 C++ 位运算 高频面试考点 力扣 面试题 17.19. 消失的两个数字 题解 每日一题

本文围绕力扣面试题 17.19 “消失的两个数字” 展开,先说明题目要求在 O (N) 时间、O (1) 空间内找出 1 到 N 中缺失的两个数,强调其是位运算经典组合题,融合 “丢失的数字” 与 “只出现一次的数字 Ⅲ” 逻辑,是面试高频考点。接着阐述算法原理,利用异或 “x^x=0”“0^x=x” 特性,先得两缺失数异或结果,再找结果最低为 1 的位拆分集合,最后分别异或两组得缺失数。还提供基础与优化版代码,对比优化点,分析其他解法优劣势,给出面试避坑指南,最后总结位运算题解题关键,文末预告下一题学习内

2025-10-08 20:25:52 964 1

原创 C++ 位运算 高频面试考点 力扣137. 只出现一次的数字 II 题解 每日一题

# 力扣137.只出现一次的数字II解析摘要本文围绕力扣137题展开,该题要求在整数数组中找出仅出现一次、其余元素均出现三次的元素,且需满足线性时间与常数空间复杂度。首先阐述题目价值,其是位运算经典题,能助理解二进制拆解问题与时空权衡,还可迁移至同类场景。接着详解两种解法:位运算通过统计二进制每一位1的总数,取余3确定目标位值,实现O(n)时间、O(1)空间的最优解;哈希表利用键值映射统计次数,虽逻辑直观但空间复杂度O(n)。最后对比方法,回顾知识点,并预告下一题及前置思考,为后续学习铺垫。

2025-10-07 19:17:30 821 3

wallpaper 壁纸提取工具 导入壁纸编辑器工具 内附视频讲解

以下是一个关于Wallpaper壁纸提取与导入编辑器工具的资源描述: 资源简介 本资源提供了一款强大的Wallpaper壁纸提取与导入工具,能够帮助用户轻松提取Wallpaper Engine中的动态壁纸或场景壁纸文件,并将其导入壁纸编辑器进行个性化修改。同时,资源内还包含详细的视频讲解以及部分导出的壁纸图片示例,方便用户快速上手使用。 软件功能 壁纸提取:可将Wallpaper Engine中以scene.pkg格式存储的动态壁纸或场景壁纸,提取为常见的.jpg或.png等静态图片格式。用户只需将对应的scene.pkg文件拖放到指定输入框或通过文件选择功能导入,设置好输出位置,点击提取按钮,即可在输出目录的materials文件夹中找到提取后的壁纸图片。 导入编辑器:支持将提取出的壁纸文件或其他符合要求的壁纸资源,导入到Wallpaper Engine的壁纸编辑器中。用户能够利用编辑器的功能,如添加特效、调整颜色、插入动画元素等,对壁纸进行自定义修改,创建出独具个性的壁纸样式。 视频讲解 资源内的视频讲解详细介绍了软件的安装、操作步骤及注意事项。从软件的下载解压开始,逐步演示如何定位Wallpaper Engine的壁纸文件存储位置,怎样使用提取工具获取静态图片,以及如何将提取后的图片导入壁纸编辑器进行简单编辑等内容,即使是初次使用的用户也能轻松掌握操作方法。 导出壁纸图片示例 为了让用户更直观地了解提取效果,资源中包含了几张通过该工具导出的壁纸图片。这些图片涵盖了不同风格,有风景、动漫、抽象艺术等,展示了工具在提取各种类型壁纸时的高质量表现,用户可作为参考,也可直接将其用于自己的桌面装饰或作为创作素材。

2025-07-21

编程开发 C++ 学习 日期类 完整实现 练习项目

内容概要:实现了一个功能完备的C++日期类程序,涵盖日期的存储、显示、运算等基础操作,对日期类进行了运算符重载,可实现日期的加减、比较等功能,代码结构清晰,逻辑严谨。 适用人群:C++ 编程初学者、正在学习类与对象以及运算符重载相关知识的学生、想要深入理解日期处理逻辑的程序员。 使用场景及目标:适用于课堂学习、课后练习、个人项目开发等场景,帮助使用者掌握C++ 面向对象编程思想,提升日期相关功能的代码实现能力,为开发更复杂的程序奠定基础。 其他说明:代码简洁易懂,有详细注释,便于参考学习和二次开发。

2025-07-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除