- 博客(34)
- 收藏
- 关注
原创 hot 100 技巧题
任何数与自身异或结果为 0:即 a ^ a = 0;任何数与 0 异或结果为自身:即 a ^ 0 = a。给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2025-10-25 21:48:29
1034
原创 二分查找&栈&堆&动态规划
外层物品,内层背包:物品使用顺序固定,结果是组合数(不考虑顺序);外层背包,内层物品:每个容量都重新尝试所有物品,结果是排列数(考虑顺序)。“单词拆分”需要考虑单词在字符串中的出现顺序,因此必须用“外层背包(字符串长度),内层物品(单词)”的遍历顺序,才能正确匹配字符串的拼接逻辑。
2025-10-25 21:01:39
990
原创 异步编程与回调
异步”就是你让某个操作慢慢做你自己先去干别的事。读取文件/接收网络数据是慢操作。异步方式:我先发起它,然后设置一个“回调函数”一旦操作完成,系统会自动调用我的回调函数。回调函数是异步编程中“通知我操作完成”的方式。异步需要一种机制在操作完成后“通知”你,而回调函数就是这个机制。Boost.Asio 用回调来管理所有异步事件,是异步 I/O 编程的核心工具。异步的核心,是操作系统帮你监听事件是否完成,一旦完成再回调用户逻辑,而不是新开线程死等。问题答案干什么?事件循环:接收内核通知,调用用户回调。
2025-07-22 15:49:02
997
原创 0 - MIT 6.S081 2020 操作系统 实验环境配置
环境太难配置了,查了很多资料,不是这有bug,就是那有问题,结合自己的摸索终于搞定了;参考链接:ps:注意虚拟机的磁盘空间最好能有30G以上空闲,否则前面的RISC-V GNU 编译器工具链的存储库下载容易出问题,我就踩坑了,扩容之后正常下载;
2025-07-16 21:53:56
711
原创 面试150——数组&字符串
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。
2025-07-16 15:10:36
181
原创 二分查找&栈&堆
如果 [l, mid - 1] 是有序数组,且 target 的大小满足 [nums[l],nums[mid]),则我们应该将搜索范围缩小至 [l, mid - 1],否则在 [mid + 1, r] 中寻找。如果 [mid, r] 是有序数组,且 target 的大小满足 (nums[mid+1],nums[r]],则我们应该将搜索范围缩小至 [mid + 1, r],否则在 [l, mid - 1] 中寻找。已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。
2025-07-15 21:23:26
287
原创 使用Iocontext实现高并发
模式适用场景特点每线程一个io_context资源隔离、任务绑定明确、避免锁竞争高性能定制服务器、自定义调度一个io_context多线程运行通用服务端、多连接混合处理、负载均衡简化boost 官方推荐模式IOService是的别名,表示一个io_context实例,这个对象用于异步操作的调度和管理。Work是的别名,这个对象的作用是防止io_context在没有活跃任务时退出。它使得io_context持续运行。WorkPtr是Work类型的智能指针,用于管理Work对象的生命周期。
2025-07-07 23:29:23
916
原创 VerifyServer——配置grpc客户端服务器
指的是:你把服务接口(函数名、参数、返回值)都写在一个 .proto 文件里,由它作为唯一标准,然后用它自动生成服务端/客户端代码,避免手写出错。
2025-07-07 07:49:18
830
原创 GateServer——beast实现http服务器
概念定义端口(Port)用于区分同一主机中多个网络应用程序的“编号”,每个网络服务通常绑定一个特定的端口号。是一个 16 位无符号整数(范围 0 ~ 65535)。套接字(Socket)网络通信的端点,由 IP 地址 + 端口号 + 协议(TCP/UDP)三元组构成,可以看作是进程间通信的“插口”。端口是数字,用来区分不同进程;Socket 是编程接口,通过绑定端口来实现网络通信。如需深入了解Socket 编程模型端口复用或TCP 四元组,我可以进一步讲解。io_context。
2025-07-06 13:20:37
951
原创 ChatNova项目:登录界面设置
通过设置这些窗口标志,实际上把dialog窗口的外观修改为无框且不独立的。这使得dialog的表现更像是嵌入在MainWindow内部,而不是作为一个独立的窗口弹出,从而避免了出现多个独立窗口的情况。在 SlotSwitchReg 槽函数中,登录对话框被隐藏,注册对话框 (RegisterDialog) 被设置为新的核心部件并显示。登录对话框 上的注册按钮 (reg_btn) 被点击后,触发 switchRegister 信号。关掉上面的界面时,程序出现了异常崩溃。21:23:35: 进程崩溃了。
2025-06-17 16:58:27
400
原创 数据库连接池——关键技术点介绍
MySQL数据库编程、单例模式、queue队列容器、C++11多线程编程、线程互斥、线程同步通信和unique_lock、基于CAS的原子整形、智能指针shared_ptr、lambda表达式、生产者-消费者线程模型数据库的访问瓶颈:1.为减少磁盘IO,在服务器和数据库应用之间加一层缓存数据库,比如redis2.服务器应用和MySQL服务器相当于CS结构,因此可以增加连接池。在高并发情况下,大量的。
2025-06-11 22:21:06
371
原创 Reactor和Proactor
reactor的重要组件包括:Event事件、Reactor反应堆、Demultiplex事件分发器、Eventhandler事件处理器。
2025-05-27 22:11:01
629
原创 图论&回溯
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。深度优先遍历:用一个visited数组标记所有访问过的地方,遍历图,遇到第一个陆地且没被访问过,就用深搜遍历此岛屿的全部陆地。
2025-05-27 22:08:54
1249
原创 Linux的五种IO模型
一个典型的网络IO调用分为两个阶段,分别是,数据就绪阶段分为阻塞和非阻塞,表现为阻塞当前线程或者是直接返回。同步表示A向B请求调用一个网络IO接口时,数据的读写都是由请求方自己完成的;异步则是A向B请求调用一个网络IO接口时,向B传入请求的事件以及事件发生时通知的方式,A就能处理其他逻辑了,当B监听的事件处理完成后在通知A。
2025-05-27 20:39:59
242
原创 HOT100(链表)
首先在LRU cache中实现一个基础的增删查功能,然后再实现get和put最近最少的功能(末尾节点)请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构get和put。
2025-05-15 00:04:42
283
原创 C++比较器(含堆栈的应用)
int age;// 按年龄升序排序});重点来了,注意比较器在堆里的应用,和前面的定义类似,个人理解在堆里第一个元素放在第二个元素的“下边”,而不是“前面”;
2025-05-14 21:07:30
1206
原创 HOT100 (滑动窗口&子串&普通数组&矩阵)
请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。前缀和+哈希,用unordered_map<前缀和, 出现次数> umap来存储前缀和,则符合条件的[i, j] 满足pre[j]-pre[i-1] == k;先用vector数组把p存起来,然后遍历s,记滑动窗口右边界为r,则cnt[s[r] - a] < 0,滑动窗口左边界l右移cnt[s[l] - a] ++;给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数。
2025-05-14 18:11:51
531
原创 GDB(复习)
GDB(GNU调试器)是一个强大的工具,用于在程序运行时检查其内部状态。它允许用户设置断点、查看变量值、执行代码步进等操作,以帮助诊断和修复程序中的错误。GDB的基本功能包括启动程序、设置断点、检查程序状态、继续执行程序等。安装GDB可以通过包管理器如yum进行,安装后可以通过gdb --version检查是否成功安装。GDB的常用命令包括break设置断点、run启动程序、bt查看调用栈、print显示表达式值、c继续执行、next执行下一行代码、step进入函数调试等。此外,GDB还支持调试核心转储文件
2025-05-14 10:48:30
1044
原创 远程主机不满足运行 VS Code 服务器的先决条件【最全降版本方案】
遂查询AI的回复:通常意味着你的远程服务器无法兼容当前 VS Code 客户端的版本。尤其是在服务器配置较低(例如系统版本旧、架构不兼容或缺少依赖库)的情况下,VS Code 升级之后就容易导致这种问题。
2025-04-14 09:54:27
16096
6
原创 Zotero数据与文件的多设备同步|word
在 Zotero 中,数据同步和文件同步各自关注不同的内容,它们共同确保你在不同设备上能够完整访问和管理文献资料。本文介绍了数据同步实操指南,基于百度网盘同步空间的zotero文件同步。
2025-03-23 18:03:44
2697
原创 如何 Fork 项目并提交 Pull Request(PR)
如果你希望对某个开源项目进行改进,并最终提交 PR(Pull Request)给原项目,可以按照以下步骤操作。这样,你可以确保你的代码不会落后于官方项目。这样,你的 Fork 就不会落后于原始项目
2025-03-21 00:00:00
1788
原创 git push失败 Authentication failed for
git push origin main 失败,原因是:GitHub 2021 年 8 月 13 日起已禁用密码登录需要使用 "个人访问令牌 (Personal Access Token, PAT)" 代替密码
2025-03-20 08:15:00
1016
原创 HTTP 408 Request Timeout 请求超时,远程 GitHub 服务器断开了连接
你的 git push 遇到了 HTTP 408 Request Timeout 错误,说明请求超时,远程 GitHub 服务器断开了连接。
2025-03-19 20:37:15
2709
原创 写论文如何使用Zotero进行文献管理|word
论文的参考文献管理一直是令人头疼的地方,特别是毕业论文,动则上百篇,手动插入引用真的会崩溃🥺,zotero很好地解决了这一问题,供君参考~
2025-03-17 15:04:22
1445
原创 word导出高清PDF
之前遇到了点问题,遂写此篇,参考上面这位大神的文章,顺利解决了word导出PDF分辨率降低的问题,插个眼留给自己用,先上效果🤡
2025-03-10 10:45:05
1461
原创 Tinywebserver运行后视频无法播放问题
写这篇文章的目的是当时解决这个问题花了很久,网上的一些方法可能失效或者不全,本文起到一个信息整理和更新的作用,同时给自己留一个记录以便后续使用,希望能帮助到大家~😁测试TinyWebServer打开新的终端,输入兴奋地打开浏览器访问点击xxx.avi,结果视频无法播放😅。
2025-02-25 16:34:33
427
1
原创 安装 ubuntu-restricted-extras,进度条卡住没有进展
😜小白一个,反复安装了好几次还以为是卡住了,结果是等待用户接受许可协议。这样你的安装就能顺利完成!如果你的进程已经卡住,按下。,它要求你手动同意。
2025-02-25 15:48:37
614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅