- 博客(127)
- 收藏
- 关注
原创 《笔试强训48天 144道题全记录:一套可复制的通关方法论》
这篇文章记录了为期48天的笔试强训过程,共完成144道编程题目。内容涵盖数学模拟、哈希算法、栈应用、动态规划、贪心算法等多种题型。每道题均包含题目链接、示例代码和解题思路,如数字统计、数组交集、点击消除、最小花费爬楼梯等经典问题。作者采用清晰的分类方式,每天记录3道典型题目,并提供详细的代码实现,适合编程学习者参考和练习。
2025-11-06 11:09:13
1482
1
原创 C++优选算法精选100道编程题(附有图解和源码)
《C++优选算法精选100道编程题》专题一双指针部分提供了5个典型问题的详细解析和代码实现:1. 移动零问题使用双指针原地操作将零移到数组末尾;2. 复写零问题通过逆向思维避免覆盖原数据;3. 快乐数问题利用快慢指针检测循环;4. 盛水容器问题采用对撞指针求最大容量;5. 有效三角形个数通过排序和双指针优化三重循环。每个问题都配有直观图解、分步分析和完整C++源码,特别适合算法学习者掌握双指针技巧。
2025-09-20 13:07:08
1530
3
原创 C语言精选100道编程题(附有图解和源码)
本文精选了100道C语言编程题,涵盖基础算法和常见问题。内容包括:打印1-100奇数、九九乘法表、判断素数、三角形判断、最大公约数/最小公倍数计算、分数求和以及数组最值差计算。每道题目均配有详细图解、解题思路和完整源码实现,适合C语言初学者练习基础语法和算法思维。题目难度由浅入深,从简单的循环结构到数学运算和逻辑判断,帮助读者逐步提升编程能力。部分题目提供多种解法(如辗转相除法求公约数),并附有优化方案说明。
2025-09-02 19:58:40
3287
2
原创 Manacher算法解决所有回文串问题 (覆盖所有题型)
Manacher算法是一种高效的线性时间算法,用于解决回文串相关问题。文章首先介绍了Manacher算法的基本概念和中心扩展算法原理,然后详细讲解了Manacher算法的实现过程,包括预处理字符串、计算回文半径数组等关键步骤。随后给出了Manacher算法的模板代码,并展示了其在洛谷算法题中的应用实例,包括求解最长回文子串、ABB问题和ANT-Antisymmetry问题。文章还提供了针对每个问题的具体解决方案和代码实现,最后提到由于时间原因未完成的拉拉队排练问题。通过理论讲解和实际案例相结合的方式,全面介
2025-12-26 22:28:22
511
原创 《二刷Linux:这一次,我终于“理解”了进程》
本文通过二次学习Linux系统,深入探讨了进程管理的核心概念。首先从冯诺依曼体系结构切入,分析计算机数据流动原理;然后阐述操作系统通过系统调用实现硬件管理的方式;重点解析了进程本质是"运行中的程序+相关资源",并通过PCB(进程控制块)进行描述和组织。文章详细介绍了查看进程的两种方式、fork函数创建子进程的机制,以及Linux内核如何通过链表管理进程状态。最后通过代码示例演示了父子进程的创建与控制流程,帮助读者建立对Linux进程管理的系统性认知。
2025-12-25 20:27:40
641
原创 【标准项目】C++ AI 大模型接入SDK
本文介绍了使用Trae IDE开发C++ AI大模型接入SDK的环境搭建和快速上手流程。Trae IDE基于VSCode内核,提供AI智能问答、代码补全等开发辅助功能。文章详细展示了开发环境配置步骤和ChatSDK的初始使用界面截图,为开发者快速接入AI大模型提供了实践指导。整个项目利用Trae IDE的AI协作能力提升开发效率。
2025-12-25 17:37:13
172
原创 C++ 后端面试必刷大厂算法题(附代码实现)第三期(记忆题)
本文主要介绍了C++后端面试中常见的接雨水问题及其三种解法:动态规划法、双指针法和单调栈法。动态规划法通过预处理左右最大高度数组计算水量;双指针法优化空间复杂度,通过左右指针遍历;单调栈法利用栈结构处理凹槽计算。文章提供了详细代码实现和图示说明,适合面试准备。作者是中国矿业大学(北京)大一学生,整理了这些经典算法题解供参考。
2025-12-23 22:22:01
400
原创 后端面试通关笔记:从真题到思路(me)
本文记录了作者作为大一新生参与的多家科技公司后端开发实习面试经历,包括字节跳动、腾讯互娱等企业的技术面内容。重点整理了C++客户端、Rust开发等岗位的八股文知识点和算法题解,如字符串反转等编程题目。文章展示了作者从首次面试到逐步积累经验的过程,包含面试真题、解题思路和完整代码实现。作者希望通过分享这些实战经验帮助其他求职者,并表达了对获得offer的期待。
2025-12-19 22:40:01
292
原创 C++ 后端面试必刷大厂算法题(附代码实现)第二期
本文整理了C++后端面试中常见的大厂算法题,包括二叉树的最近公共祖先、环形链表检测、最长递增子序列等经典问题。每个问题都提供了清晰的代码实现和解题思路,如使用递归解决二叉树问题、快慢指针检测环形链表、动态规划求最长子序列等。这些题目精选自实际面试经验,适合准备技术面试的开发者参考练习。文章后续还列出了其他高频面试题目,帮助读者全面准备算法面试。
2025-12-19 22:39:46
418
原创 DFS + 剪枝 解决 全排列系列问题 (所有题型)
本文介绍了使用DFS+剪枝解决全排列问题的系列算法。主要内容包括:46题全排列的基础解法;47题全排列II的去重处理;60题排列序列的计数实现;31题下一个排列的优化算法。作者通过代码示例详细展示了各问题的解决思路,并强调了回溯和剪枝技巧的应用。文章适合准备算法面试的读者参考,涵盖了全排列问题的常见变种和优化方法。作者为中国矿业大学大一学生,欢迎关注交流。
2025-12-17 22:13:47
344
原创 C++ 后端面试必刷大厂算法题(附代码实现)第一期
本文整理了C++后端面试必刷的20道大厂算法题,包括无重复字符的最长子串、LRU缓存等经典问题。每道题均提供完整的C++实现代码,采用滑动窗口、双向链表等高效解法。文章特别标注了高频题目"无重复字符的最长子串"是必须掌握的题目。这些算法题精选自大量面经资料,覆盖了字符串处理、数据结构等后端开发核心考点。作者为中国矿业大学(北京)大一学生,旨在帮助求职者高效准备大厂技术面试。
2025-12-13 22:34:04
412
原创 后端面试通关笔记:从真题到思路(五)
这篇文章汇总了百度多个技术岗位的面试真题与破解思路,涵盖C++开发、安卓开发、Java开发、测试开发等方向。内容包括各岗位一面/二面的八股文问题和算法题解析,适合求职者参考准备。作者是中国矿业大学(北京)大一学生wkm,通过收集整理大量面经资料编写而成,旨在帮助读者提升面试通过率。文章最后呼吁读者关注作者并给予支持。
2025-12-12 16:47:43
281
原创 【标准项目】C++仿muduo库实现高并发服务器
本文介绍了一个基于C++实现的仿muduo库高并发服务器项目。文章首先概述了HTTP服务器和Reactor模型的基本概念,重点分析了三种Reactor模型实现方案:单线程、多线程和主从Reactor模型。随后详细阐述了服务器功能模块划分,包括SERVER模块和HTTP协议模块的实现。项目采用了One Thread One Loop主从Reactor模型架构,通过多I/O多路复用和线程池技术实现高并发处理。文章还提到了bind函数、缓冲区Buffer类等关键技术点。该项目适合作为网络编程学习案例,作者是中国矿
2025-12-12 16:47:26
541
原创 后端面试通关笔记:从真题到思路(四)
《字节跳动面试真题与破解思路》汇总了多个技术岗位的面经,包括后端开发、客户端开发、测试开发等不同方向的一至三面真题。文章由大一学生wkm整理,涵盖飞书、国际化广告等多个业务线,旨在为求职者提供实用的面试参考资料。作者来自中国矿业大学(北京),呼吁读者关注支持。
2025-12-02 22:43:27
237
原创 买卖股票的最佳时机问题(所有题型)
文章摘要: 本文总结了5种股票买卖问题的最优解法。121题采用一次买卖策略,通过记录最小买入价和最大利润解决;122题允许多次买卖,通过双指针在上升段买入、下降前卖出;123题限制两次交易,使用动态规划状态转移表记录持有/未持有状态;188题扩展为k次交易,通过二维DP数组跟踪不同交易次数的最大利润;3573题引入做空机制,通过三维DP状态记录不同交易类型(普通、做空、无交易)的利润。各题均采用动态规划思想,通过状态转移方程计算最优解,时间复杂度多为O(n)或O(nk)。
2025-11-27 15:05:44
313
原创 后端面试通关笔记:从真题到思路(三)
本文整理了字节跳动C++客户端开发实习生的面试真题与解题思路。一面重点考察了C++基础、操作系统、网络编程等八股知识,以及算法题实现(字符串单词反转)。二面深入探讨了多线程、内存管理、TCP协议等核心概念,并包含更多算法题。文章提供了详细的代码示例和理论解析,适合准备大厂C++开发岗位的求职者参考。作者为中国矿业大学(北京)大一学生,通过收集整理大量面经资料总结而成,旨在帮助读者掌握面试核心要点。
2025-11-26 22:31:18
451
原创 后端面试通关笔记:从真题到思路(二)
本文分享了腾讯CSGI部门k8s云存储岗位和WXG企业微信C++岗位的面试真题与解题思路。内容涵盖操作系统、网络、数据库等技术问题,重点包括: 操作系统:进程/线程区别、死锁条件、虚拟内存等 网络:TCP/UDP区别、三次握手、HTTP/HTTPS等 数据库:索引、事务隔离级别等 算法题:二分查找变体题解(LeetCode 34题) C++八股:智能指针、右值引用等C++11特性 提供了详细的代码实现和面试应答技巧,适合准备腾讯技术面试的求职者参考。
2025-11-22 12:42:24
350
原创 【标准项目】C++基于正倒排索引的Boost搜索引擎
本文介绍了一个基于C++实现的Boost搜索引擎项目,采用正倒排索引技术。项目背景介绍了搜索引擎的基本原理,包括数据预处理、索引构建和查询处理三大模块。技术栈使用C++编程语言,配合Boost库进行文件处理,项目环境为Linux系统。文章重点阐述了正排索引和倒排索引的具体实现原理,并详细讲解了数据清洗模块Parser的开发过程,包括文件枚举、HTML解析和结果保存等步骤。该项目通过处理Boost库HTML文档建立索引,为后续搜索功能提供数据支持。
2025-11-21 22:37:10
893
原创 深入浅出蓝桥杯:算法基础概念与实战应用(三)搜索
本文介绍了深度优先搜索(DFS)算法的基础概念与实战应用。主要内容包括:1) 枚举子集的DFS实现;2) 组合型枚举的递归解法;3) 排列枚举问题;4) 全排列问题的经典DFS解法;5) 选数问题的DFS应用,判断素数组合;6) 飞机降落问题的DFS剪枝优化。通过多个代码示例展示了DFS在解决各类搜索问题时的基本框架和优化技巧,包括递归实现、回溯剪枝、状态标记等核心思想。这些案例涵盖了DFS算法的常见应用场景,为理解搜索算法提供了实践参考。
2025-11-17 12:23:49
401
原创 后端面试通关笔记:从真题到思路(一)
腾讯WXG一面面试真题与解题思路总结: 两个有序数组的最小差值:使用双指针法,通过比较数组元素并移动较小值的指针来寻找最小差值。时间复杂度O(n),空间复杂度O(1)。 字符串解码:利用双栈结构处理嵌套情况,一个栈存储重复次数,另一个栈存储当前字符串。当遇到']'时进行字符串拼接和重复操作。 LRU缓存实现:采用哈希表+双向链表的数据结构,哈希表实现O(1)查找,链表维护访问顺序,链表头部为最近访问节点。 环形链表检测:快慢指针法,快指针每次走两步,慢指针走一步,若有环则必相遇。 面试经验:算法题需要反复练
2025-11-16 21:21:26
448
原创 深入浅出蓝桥杯:算法基础概念与实战应用(二)基础算法(下)
本文介绍了贪心算法的两个典型应用案例:货仓选址问题和最大子段和问题。在货仓选址中,通过排序后取中间值或利用两端差值计算最小总距离;最大子段和则采用动态更新和与最大值的方法求解。两个案例都展示了贪心算法的高效性,代码实现简洁明了,适用于解决实际优化问题。这些基础算法为更复杂的计算问题提供了重要思路。
2025-11-10 18:20:26
1113
原创 深入浅出蓝桥杯:算法基础概念与实战应用(一)基础算法(上)
本文介绍了蓝桥杯算法竞赛中的基础算法内容,重点讲解了模拟和高精度两大类算法。在模拟部分,详细解析了多项式输出、蛇形方阵和字符串展开三个典型问题的解题思路与代码实现。高精度部分则涵盖了高精度加法和减法的实现方法,包括数据存储方式、运算逻辑以及进位/借位处理。文章通过具体题目示例,展示了如何将算法理论转化为可执行的代码,并提供了完整的C++实现代码。这些基础算法是蓝桥杯竞赛中常见且重要的考点,掌握它们对提升编程能力和解决复杂问题至关重要。
2025-11-09 18:15:39
876
原创 【Linux网络】多路转接epoll
文章摘要: 本文详细介绍了I/O多路转接技术中的poll和epoll两种机制。首先阐述了poll函数接口及其特点,指出其解决了select的部分问题但仍存在性能瓶颈。然后重点讲解了更高效的epoll机制,包括其工作原理、优势特点和工作模式(LT和ET)。文章通过对比展示了epoll相比select/poll的性能优势,特别适合处理大量连接的场景。最后提供了一个基于LT模式的epoll服务器实现代码示例,展示了epoll在实际网络编程中的应用。
2025-11-09 17:57:39
240
原创 【Linux网络】多路转接select
文章摘要:本文介绍了IO多路复用技术中的select机制,包括其基本原理、执行过程、特点及缺点。详细讲解了select函数的使用方法,并提供了检测标准输入输出的示例代码。文章还展示了一个基于select实现的TCP服务器框架,包含Selector类的封装实现,说明了如何通过select来同时监控多个socket连接,处理客户端请求。
2025-11-09 16:20:14
311
原创 【Linux网络】五种IO模型与非阻塞IO
本文介绍了五种IO模型:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO和异步IO,重点讲解了非阻塞IO的实现方式。通过SetNoBlock函数演示了如何将文件描述符设置为非阻塞模式,并使用轮询方式持续读取标准输入。当read操作返回错误时程序不会阻塞,而是继续循环检测,展示了非阻塞IO的基本工作模式。文中包含多个示意图帮助理解不同IO模型的特点。
2025-11-09 16:18:02
211
原创 【Linux网络】NAT、代理服务、内网穿透
本文系统梳理了NAT、代理服务和内网穿透三大网络技术。NAT(网络地址转换)技术通过替换内网IP和端口号实现内外网地址映射,NAPT则进一步扩展了该功能。代理服务器作为中间层,既提供地址转换也具备缓存加速、内容过滤等功能。内网穿透技术则解决了NAT环境下外部设备访问内网服务的难题。三者虽都涉及地址转换,但应用场景和实现机制各有特点:NAT侧重基础网络连接,代理服务强调中间层控制,内网穿透则专注于服务可访问性。这些技术共同构成了现代网络通信的重要基础架构。
2025-11-09 15:20:01
188
原创 【Linux网络】深入解析数据链路层
本文深入解析了计算机网络中的数据链路层,重点介绍了以太网、MAC地址和MTU(最大传输单元)等核心概念。文章阐述了MTU对UDP和TCP协议的不同影响,以及ARP协议的工作原理,包括ARP请求/应答机制和ARP欺骗原理。通过图解和文字说明,系统性地讲解了数据链路层设备间通信的基本原理和关键协议实现细节。
2025-11-09 14:57:44
278
原创 【Linux网络】从网络层重新认识互联网
摘要 本文系统性地介绍了互联网网络层的核心概念和关键技术。重点解析了IP协议的结构与功能,包括协议头格式、网段划分原理以及特殊IP地址的分类。详细阐述了IPv4地址数量限制问题及其解决方案,对比了私有IP与公网IP的差异,并解释了NAT技术实现机制。最后探讨了路由的基本原理和在复杂网络环境中的路径选择策略。通过丰富的图表展示,全面呈现了网络层在互联网架构中的关键作用,为深入理解现代网络通信奠定了理论基础。
2025-11-09 14:10:20
167
原创 【Linux网络】传输层协议TCP
本文系统介绍了TCP协议的核心机制和特性。TCP作为可靠的传输层协议,通过确认应答(ACK)、超时重传、连接管理(三次握手/四次挥手)等机制确保数据传输的可靠性。滑动窗口和流量控制实现高效数据传输,拥塞控制避免网络过载。延迟应答和捎带应答优化性能,而面向字节流特性可能引发粘包问题。文章还详述了TIME_WAIT、CLOSE_WAIT等状态含义,以及TCP在异常情况下的处理方式,全面展现了TCP如何平衡可靠性与传输效率。
2025-11-08 19:58:41
237
原创 【Linux网络】传输层协议UDP
文章摘要 本文介绍了传输层协议UDP的基本概念。传输层主要负责数据的端到端传输,端口号用于标识不同的应用程序和服务。UDP是一种无连接的传输协议,具有简单高效的特点,但不保证可靠性和顺序性。文章通过图示展示了端口号的分配规则和UDP协议格式,提醒用户在选择端口号时避免与知名端口冲突。
2025-11-08 16:32:50
262
原创 【Linux网络】应用层协议HTTP
HTTP协议是应用层最常用的网络协议之一。本文介绍了HTTP请求与响应的基本格式,包括请求行、状态行、首部字段等组成部分。详细讲解了GET、POST等HTTP方法及其应用场景,以及200、404等状态码的含义。同时分析了常见的HTTP头部字段,如Content-Type、User-Agent等,并阐述了cookie和session在会话管理中的作用。通过代码示例展示了文件读取和curl命令的使用,帮助理解HTTP协议在实际开发中的应用。
2025-11-07 20:23:24
431
1
原创 【Linux网络】网络基础概念
本文介绍了计算机网络的基础概念。主要内容包括:协议的本质是一种约定,采用分层设计以提升模块化和解耦能力;OSI七层模型与TCP/IP五层模型的对比及实际应用;网络数据传输的基本流程,包括封装与分用过程;IP地址管理和跨网络传输原理;以及Socket编程预备知识,涉及端口号、网络字节序和编程接口等核心概念。文章通过图文结合的方式,系统阐述了计算机网络的基础架构和关键组件。
2025-11-07 16:14:29
301
原创 【Linux】深入理解线程同步与互斥
本文深入探讨多线程编程中的核心概念与实现技术。主要内容包括:线程互斥机制(互斥量mutex原理与实现)、线程同步(条件变量使用方法与规范)、生产者消费者模型(BlockingQueue与环形队列实现)以及线程池设计。文章详细分析了竞态条件问题,阐述了POSIX信号量的应用场景,并比较了单例模式的饿汉与懒汉两种实现方式。通过理论讲解与代码示例相结合的方式,系统性地介绍了如何构建线程安全的高并发程序。
2025-10-19 17:08:18
527
原创 【Linux】深入理解线程概念与控制
本文深入探讨了Linux线程概念与控制机制。文章首先介绍了线程的基本概念,包括线程与进程的区别、线程共享的资源以及线程的优缺点。重点分析了Linux的分页式存储管理机制,详细讲解了虚拟地址、页表结构、两级页表转换和缺页异常处理等核心内容。在Linux线程控制部分,阐述了POSIX线程库的使用方法,包括线程创建、终止等关键操作。通过多幅图示和代码示例,清晰展示了线程在Linux系统中的实现原理和编程实践,为深入理解并发编程提供了理论基础。
2025-10-19 15:19:43
257
原创 【Linux】深入理解Linux进程信号(Signal)
Linux信号是进程间异步通知的软中断机制,关键要点包括:1) 信号编号和宏定义在signal.h中;2) 三种处理方式:忽略、默认动作或自定义捕捉;3) 信号产生方式:终端按键、系统命令(kill)、函数调用(kill/raise/abort)和软件条件(alarm);4) 信号保存机制涉及未决信号集和阻塞信号集;5) Core Dump用于异常终止时的调试。文章通过代码示例和图示详细讲解了信号处理流程和系统调用接口。
2025-10-19 14:02:34
737
原创 贪心算法精选30道编程题 (附有图解和源码)
贪心算法编程题精选 本文精选了6道经典的贪心算法编程题,涵盖简单到中等难度: 柠檬水找零(Easy):模拟找零过程,优先使用大面额钞票 数组和减半的最少操作(Medium):使用优先队列每次操作最大元素 最大数(Medium):自定义字符串排序组合成最大数 摆动序列(Medium):统计波峰波谷数量 最长递增子序列(Medium):维护潜在递增序列 递增三元子序列(Medium):优化解法寻找三个递增元素 每道题都包含题目描述、解题思路分析和完整代码实现,展示了贪心算法在解决最优化问题中的应用技巧。
2025-10-14 21:43:28
1024
2
原创 【Linux】进程间通信
本文介绍了进程间通信(IPC)的概念、发展历程和分类,重点讲解了管道机制。管道是一种半双工通信方式,分为匿名管道和命名管道。文章从文件描述符和内核角度深入分析了管道的工作原理,指出管道本质上是一个内核缓冲区。通过示例代码展示了管道的创建、读写操作以及父子进程间通过管道通信的实现方法。最后讨论了管道的读写规则,包括缓冲区满时写操作阻塞、读端关闭时写操作失败等特性。文章还包含创建进程池处理任务的实践案例,展示了管道在实际应用中的使用场景。
2025-10-12 18:01:14
638
原创 【Linux】库制作与原理
本文介绍了库的概念、制作原理及使用方法。主要内容包括:1)库的定义与分类,展示了一个自定义IO库的实现代码;2)静态库的生成与使用,通过示例演示了静态库的创建和链接过程;3)动态库的生成、使用及搜索路径设置;4)目标文件和ELF文件格式的详细解析;5)从ELF文件形成到加载的完整流程,包括链接时的段合并和运行时加载机制。文章通过代码示例和图示,深入浅出地讲解了程序从编译到执行的完整生命周期,帮助读者理解库在软件开发中的重要作用。
2025-10-12 15:43:05
463
原创 动态规划算法精选60道编程题 (附有图解和源码)
本文精选了6道动态规划经典编程题,涵盖斐波那契数列模型和路径问题两大类型。每道题目均配有详细图解和源码实现,包括LeetCode链接。内容涵盖:泰波那契数、三步问题、最小花费爬楼梯、解码方法、不同路径及其障碍物版本等典型DP问题。作者通过状态转移方程分析、边界条件处理、空间优化(如滚动数组)等技巧,展示了动态规划的核心思想与应用方法。所有代码采用C++实现,包含初始化、填表、返回结果的标准流程,适合DP初学者系统学习和练习。
2025-10-10 15:45:00
1108
2
原创 【Linux】Ext系列文件系统
Ext文件系统与磁盘结构摘要 Ext文件系统基于磁盘物理结构设计,磁盘由多个盘片、磁头、柱面组成,基本存储单位是512字节的扇区。操作系统以4KB块(8个连续扇区)为单位访问磁盘。文件系统引入分区概念,将磁盘划分为多个独立区域。Ext使用inode结构存储文件元信息,包括权限、大小、时间戳等属性,并通过i_block数组管理数据块指针。文件系统采用多级索引结构(直接/间接块)来支持大文件存储,同时维护空闲块和inode位图来高效管理磁盘空间。
2025-09-28 18:18:24
697
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅