随记手札
程序员-King.
一起成长!越努力,越幸运!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
双指针/滑动窗口—算法总结与教学指南
本文总结了双指针/滑动窗口算法的核心思想与应用技巧,主要包含三部分内容:1. 三种双指针模式(同向、对向、快慢指针)的特点与适用场景;2. 滑动窗口的通用解题框架与关键决策点(扩张/收缩时机、答案更新);3. 经典问题分类与教学建议。文章提供了详细的代码模板和问题识别技巧,并针对不同难度级别给出练习题路径,最后提炼出"右指针探索+左指针维持合法性+适时记录答案"的核心心法,帮助开发者系统掌握该算法范式。原创 2025-12-06 22:12:31 · 1564 阅读 · 0 评论 -
【笔试面试】—手撕代码—用C++ 11实现线程池
【笔试面试】—手撕代码—用C++ 11实现线程池原创 2025-11-17 13:52:03 · 137 阅读 · 0 评论 -
【笔试面试】—手撕代码—智能指针的实现原理
本文实现了一个基于引用计数机制的智能指针shared_ptr。通过shareCount类管理对象的引用计数,包含构造、析构、引用计数增减等功能。shared_ptr类实现拷贝构造、移动构造、运算符重载等方法,支持指针的共享所有权和资源自动释放。测试案例验证了指针共享、重置、移动语义等功能,当引用计数归零时自动释放资源。该实现避免了内存泄漏,通过移动构造实现高效资源转移,展现了智能指针的核心原理。原创 2025-11-02 11:32:51 · 190 阅读 · 0 评论 -
【笔试面试】—手撕代码—用模板类实现快速排序
本文介绍了快速排序算法的实现,重点包括:1. 基准值选择(默认为首元素);2. 分区操作通过左右指针移动和赋值实现元素归位(无需交换);3. 递归处理左右子区间。提供两种实现方式:基础版和模板化类版本(支持泛型),包含边界条件处理和测试用例。算法核心是通过交替扫描和赋值操作将元素按基准值分区,最后递归排序子区间。测试用例验证了对double类型数组的排序功能。原创 2025-10-17 21:35:25 · 124 阅读 · 0 评论 -
【笔试面试】—手撕代码—用模板类实现冒泡排序
本文展示了冒泡排序算法的实现及其模板化处理过程。首先给出了针对double类型的冒泡排序实现,通过嵌套循环比较相邻元素并交换位置。随后将其模板化为通用函数template<class T> void bubble_sort(T*a,int len),可处理任意数据类型。测试代码中定义print_array模板函数用于输出数组,并在main函数中测试了对double数组的排序功能。该实现通过模板技术提高了代码复用性,使排序算法能适用于不同数据类型。原创 2025-10-16 17:59:16 · 233 阅读 · 0 评论 -
【笔试面试】—手撕代码—字符串
摘要:该程序实现读取输入字符串直到遇到@符号结束,对输入进行处理:排除数字字符,将大写字母转为小写,小写字母转为大写后输出。程序使用循环逐一处理字符,通过isdigit()、islower()和isupper()函数进行条件判断,并调用大小写转换函数进行处理。注意处理其他非字母字符时保持原样输出。原创 2025-10-15 21:06:44 · 189 阅读 · 0 评论 -
【笔试面试】——不使用库函数将整数转换为字符串
本文展示了一个将整数转换为字符串的C++程序。程序通过int2str函数实现核心功能:首先处理负数和零值,然后逐位提取数字并转换为ASCII字符,最后倒序存储到字符串中。主函数获取用户输入的整数,调用转换函数后输出结果字符串。该程序演示了数值处理、字符转换和数组操作等基本编程技巧,适用于需要数字与字符串相互转换的场景。原创 2025-09-16 20:40:16 · 112 阅读 · 0 评论 -
【笔试面试】——编写strcpy函数
摘要:strcpy函数实现中,首先检查参数有效性,保存目的地址原始值。通过循环逐个复制字符直到遇到空字符,并添加终止符。返回原始目的地址主要是为了支持链式操作(如strcpy(a,strcpy(b,c)))和简化赋值语句。这种设计使函数既能完成字符串复制,又能作为右值用于表达式操作,提高了代码灵活性。原创 2025-09-15 12:00:00 · 139 阅读 · 0 评论 -
【笔试面试】——for循环两个不同写法的优缺点
第一个for循环代码简洁但效率较低,适用于简单循环;第二个将条件判断放在循环外,效率更高但代码冗余,适合性能敏感场景。前者优势在结构紧凑,后者在执行效率。选择需平衡代码简洁与性能需求,简单场景用前者,大数据处理用后者。原创 2025-09-14 13:10:10 · 168 阅读 · 0 评论 -
【笔试面试】——不能做switch()的参数类型有哪些?
【面试笔试】——不能做switch()的参数类型有哪些?原创 2025-09-14 10:30:00 · 131 阅读 · 0 评论 -
【笔试面试】——引用与指针有什么区别?
【笔试面试】——引用与指针有什么区别?原创 2025-09-13 10:30:00 · 79 阅读 · 0 评论 -
【笔试面试】——static有什么用途?(请至少说明两种)
【笔试面试】——static有什么用途?(请至少说明两种)原创 2025-09-12 10:44:54 · 129 阅读 · 0 评论 -
【算法解释】动态规划
在一些情况下,动态规划可以看成是带有状态记录的优先搜索。原创 2025-08-14 11:00:00 · 143 阅读 · 0 评论 -
【错误❌】—— MobaXterm 中 ssh 连接超时
【摘要】当出现虚拟机连接超时问题时,可能是由于虚拟机与主机的IP不在同一网段。解决方法为:1)使用sudo命令编辑网络配置文件/etc/netplan/01-network-manager-all.yaml,设置正确的IP地址、网关和DNS;2)执行sudo netplan apply应用配置;3)通过ip addr show和ping命令测试网络连通性。配置文件中需包含正确的addresses、gateway4和nameservers参数。(98字)原创 2025-07-23 16:43:20 · 587 阅读 · 0 评论 -
蓝桥杯(2022):求和问题
给定 n 个整数 a1,a2,⋅⋅⋅,an ,求它们两两相乘再相加的和,即:S=a1⋅a2+a1⋅a3+⋯+a1⋅an+a2⋅a3+⋯+an−2⋅an−1+an−2⋅an+an−1⋅an输入的第一行包含一个整数 n。第二行包含 n 个整数 a1,a2,⋯,an。输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。原创 2023-04-05 11:31:50 · 655 阅读 · 0 评论 -
【错误❌】——槽函数定义好但未初始化
【错误❌】——槽函数定义好但未初始化。原创 2024-11-28 23:52:48 · 373 阅读 · 0 评论 -
【错误❌】—— 重定义默认参数
参数0 ,参数1,...,原创 2024-11-21 22:10:19 · 276 阅读 · 0 评论 -
内部类的使用
方案1:内部类方案2:内部实现类。原创 2024-11-16 11:53:30 · 349 阅读 · 0 评论 -
递归循环三部曲
(代入最后子节点的角度去思考终止条件!原创 2024-11-13 10:40:24 · 199 阅读 · 0 评论 -
解析:“ *p = *p | (1 << (i % 8)) ”
如果*p指向的内存中的二进制数为00001111,i为5,则执行*p = *p | (1原创 2024-06-01 23:53:23 · 388 阅读 · 0 评论 -
浅谈—“文件映射”
/ 对比free:释放内存 addr:地址同上。2、map_private:原始版本映射生成副本到内存中,修改不会影响到原版文件。3、map_locked:锁住文件,不允许被swap(系统调出文件操作)1、map_shared:允许共享。port_none:不可存取。port_write:写入。port_exec:执行。port_read:读取。port:(保护方式)原创 2024-05-28 23:19:30 · 372 阅读 · 0 评论 -
03记-“计算机系统基础知识——存储器”
ROM(只读存储器)、DRAM(动态随机存储器)、SRAM(静态随机存取存储器)、EPROM原创 2024-05-20 23:38:12 · 341 阅读 · 0 评论 -
02记-“计算机语言基础”
编译型语言、解释型语言、编译半解释型的语言。原创 2024-05-17 22:06:34 · 276 阅读 · 0 评论 -
01记-“计算机基础知识”
为了加工、处理和传输感觉媒体而人为研究、构造出来的一种媒体,常见的有各种编码方式,如文本编码、图像编码和声音编码等。原创 2024-05-15 23:26:15 · 245 阅读 · 0 评论 -
函数指针和指针函数
函数指针是指向函数的指针变量。本质为指针它可以用来存储函数的地址,并且可以通过该指针调用相应的函数。函数指针的声明方式为:`返回类型 (*指针变量名)(参数列表)`。例如:int (*pFunc)(int, int)`表示声明了一个函数指针pFunc,它可以指向返回类型为int,参数列表为两个int类型的函数。原创 2024-05-06 23:46:22 · 270 阅读 · 0 评论 -
浅谈——“总线系统”
系统总线:三总线系统。原创 2024-04-24 21:15:05 · 322 阅读 · 0 评论 -
浅谈——“引用(C++)”
/ 等效,但不推荐==> 开源代码中可能出现!2)C++编译器在编译过程中使用常指针作为引用的内部实现,因此引用所占用的空间大。3)从使用的角度,引用会让人误会其只是一个别名,没有自己的存储空间。可行,这个是在 C++中,编译器会对这样的定义的引用。本质:int &a;// ==> 给 a 取别名。注意:C++编译器特有,gcc 编译器会报错!1)引用在C++中的内部实现是一个常量指针。(const 引用让变量拥有只读属性)原创 2024-04-20 23:59:52 · 361 阅读 · 0 评论 -
Qt——选中所有的RadioButton
来查找所有的RadioButton控件。这个函数会返回一个QObjectList,其中包含了所有符合条件的子控件。1. 你需要找到包含所有RadioButton的父控件,比如一个QGroupBox或者一个QWidget。函数,传入要查找的子对象的类型作为参数。例如,如果要查找所有的QLabel对象,可以传入。2. 创建一个QObject或其派生类的对象,作为查找的起始点。// 对子对象进行操作。1. 首先,确保已经包含了Qt的头文件,例如。的结果,其中包含了所有符合条件的子对象。// 遍历查找到的子对象。原创 2024-04-18 23:54:57 · 765 阅读 · 0 评论 -
浅谈-“指针”
int *p;或者int* p;//p1 是指针, p2 只是整型变量或者int * p;或者int*p;//不建议指针注意:32 位系统中,int 整数占 4 个字节,指针同样占 4 个字节64 位系统中,int 整数占 4 个字节,指针占 8 个字节空指针,就是值为 0 的指针。(任何程序数据都不会存储在地址为 0 的内存块中,它是被操作系统预留的内存块。int *p = 0;或者//强烈推荐。原创 2024-04-17 23:59:11 · 500 阅读 · 0 评论 -
浅谈-“位运算”
1-:清零最低 4 位 ==> X & { [1111 0000] } => 1111 0000 = 240。3-:位非:~--> ~1 ==> 0000 0001-->1111 1110。2-:设置 X 的最低 4 位 ==> X&{~15} | { [1001] }1-:位与:&--> 1 & 0 ==> 0。位运算:(对比逻辑与(&&),或(||),非!2-:位或:|--> 1 | 0 ==> 1。4-:异或:^--> 1 ^ 1 ==> 0。(有 1 全为 1-->一真全真)原创 2024-04-15 08:33:30 · 276 阅读 · 0 评论 -
浅谈.版本管理工具
定义:版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。原创 2024-04-10 22:07:39 · 470 阅读 · 0 评论 -
形参、普通局部变量以及静态局部变量的区别是什么?
形参和局部普通变量相同:即在函数调用时创建,并在该函数块结束时进行销毁。静态变量:在程序经过时调用产生,一直存在到程序结束后才会销毁。局部普通/静态变量:可自己提供,如果没有,则默认存在。共同:在函数定义或对象创建时,都会自动分配内存空间。原创 2024-04-09 23:31:58 · 399 阅读 · 0 评论 -
C++ 构造函数中的参数顺序
未初始化的参数必须在初始化参数之前。原创 2024-04-07 23:17:44 · 270 阅读 · 0 评论 -
形参和实参的区别是什么?
形参:(局部变量)|| 实参:(全局变量)原创 2023-12-05 17:01:49 · 543 阅读 · 1 评论 -
命名空间:namespace
命名空间:namespace原创 2023-10-13 12:00:00 · 116 阅读 · 0 评论 -
求取两个数的最大公约数【C语言】
ps:个人经验,心得理解分享! (仅供参考)原创 2023-04-06 09:30:00 · 326 阅读 · 0 评论 -
利用C语言去判断是否为整数
【代码】利用C语言去判断是否为整数!原创 2023-04-03 18:18:53 · 4619 阅读 · 2 评论 -
判断一个数是否包含有数字:x
【代码】判断一个数是否包含有数字:x原创 2023-04-04 11:19:01 · 752 阅读 · 0 评论
分享