自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解计算机系统 - 第十章 系统级 I/O

输入/输出(I/O)

2024-10-30 14:09:08 289

原创 程序员的自我修养 - 运行库

1. 程序的入口点实际上是一个程序的初始化和结束部分, 它往往是运行库的一部分. 一个典型的程序运行步骤大致如下:操作系统在创建进程后, 把控制权交到了程序的入口, 这个入口往往是运行库中的某个入口函数.入口函数对运行库和程序运行环境进行初始化, 包括堆, I/O, 线程, 全局变量构造, 等等.入口函数在完成初始化之后, 调用main函数, 正式开始执行程序主体部分.main函数在执行完毕以后, 返回到入口函数, 入口函数进行清理工作, 包括全局变量析构, 堆销毁, 关闭I/O等, 然后进行系

2024-10-27 22:51:13 369

原创 动态规划 - 背包问题

【代码】动态规划 - 背包问题。

2024-10-25 10:58:08 282

原创 动态规划 - 子序列问题

这样我们就能够进行六种操作方法。时,我们既可以删除单词 A 的最后一个字符。,也可以在单词 B 的末尾添加一个字符。时,我们修改单词 A 的第一个字母。,和修改单词 B 的第一个字母。例如,当单词 A 为。例如,当单词 A 为。

2024-10-25 08:54:06 366

原创 程序员的自我修养 - 代码篇

是由GNU项目开发的一个库,用于处理不同格式的二进制文件。它为编译工具链(如链接器、汇编器)和调试器提供了一致的接口,使得这些工具能够支持多种二进制文件格式,而无需针对每种格式编写专门的处理代码。读取和写入多种二进制文件格式。提供统一的接口进行符号表管理、重定位处理等。支持目标文件的转换和优化。// BFD是一个由GNU项目开发的库,用来处理不同格式的二进制文件,通常用在编译工具和调试器中。

2024-10-22 08:41:57 201

原创 深入理解计算机系统 - 第一章

堆: 代码和数据区后紧随着的是运行时堆. 代码和数据区在进程一开始运行时就被指定了大小, 与此不同, 当调用像malloc和free这样的C标准库函数时,堆可以在运行时动态地扩展和收缩.内核虚拟内存: 地址空间顶部的区域是为内核保留的. 不允许应用程序读写这个区域的内容或者直接调用内核代码定义的函数.程序代码和数据: 对所有的进程来说, 代码是从同一固定地址开始, 紧接着的是和C全局变量相对应的数据位置.共享库: 大约在地址空间的中间部分是一块用来存放像C标准库和数学库这样的共享库的代码和数据的区域.

2024-10-20 22:45:39 1012

原创 双指针题集 - 序列一

我们枚举每一种边界情况,并从对应的子串开始不断地向两边扩展。如果两边的字母相同,我们就可以继续扩展,例如从。可以发现,所有的状态在转移的时候的可能性都是唯一的。也就是说,我们可以从每一种边界情况开始「扩展」,也可以得出所有的状态对应的答案。因此,初始化双指针分列水槽左右两端,循环每轮将短板向内移动一格,并更新面积最大值,直到两指针相遇时跳出;如果两边的字母不同,我们就可以停止扩展,因为在这之后的子串都不能是回文串了。在每个状态下,无论长板或短板向中间收窄一格,都会导致水槽底边宽度。,此状态下水槽面积为。

2024-10-20 14:26:00 889

原创 记忆化搜索题集 - 序列一

LeetCode-70. 爬楼梯设跳上 n 级台阶有 f(n) 种跳法。在所有跳法中,青蛙的最后一步只有两种情况:跳上 1 级台阶跳上 2 级台阶1. 跳上 1 级台阶剩下 n−1 个台阶,此情况共有 f(n−1) 种跳法。2. 跳上 2 级台阶剩下 n−2 个台阶,此情况共有 f(n−2) 种跳法。因此,f(n) 为以上两种情况之和,即:f(n)=f(n−1)+f(n−2) f(n) = f(n-1) + f(n-2) f(n)=f(n−1)+f(n−2)以上递推

2024-10-20 12:28:08 803

原创 二分题集 - 序列二

二分答案法的核心在于将原问题转化为判定问题,即对于一个猜测的答案,判断其是否可行。check 函数的设计直接影响算法的效率和正确性,是二分答案法的关键部分。贪心算法的应用:在 check 函数中,贪心策略常用于在局部做出最优选择,从而快速判断全局的可行性。LeetCode-274. H 指数寻找 h 指数的二分搜索方法我们需要找到一个值 h,它满足「有 h 篇论文的引用次数至少为 h」。具体来说:对于所有小于等于 h 的值 x,都满足至少有 x 篇论文的引用次数不低于

2024-10-20 10:23:26 440

原创 网格图题集 - 序列一

网格图题集 - 序列一。

2024-10-20 08:34:55 334

原创 二分题集 - 序列一

二分算法是一种高效的搜索算法,其核心在于,即在每次循环迭代前后,某些条件始终保持为真。通过精确地维护这些条件,我们可以确保算法的正确性和有效性。通过在每次迭代中根据比较结果调整搜索区间(通常是),并确保目标值始终位于这个区间内,我们可以逐步缩小搜索范围,直到找到目标值或确定其不存在。是一种直观理解二分查找算法的方法,它通过将问题抽象为两种颜色(红色和蓝色)来表示不同的循环不变式,从而帮助理解和维护算法的正确性。

2024-10-19 22:34:22 357

原创 单调栈题集 - 序列一

单调栈

2024-10-19 21:52:33 426

原创 滑动窗口题集 - 序列一

滑动窗口

2024-10-19 12:18:19 157

原创 二叉树题集 - 序列二 相同的树 对称二叉树 二叉树的最大深度 二叉树的最小深度

二叉树

2024-10-19 11:11:45 137

原创 二叉树题集 - 序列一 前序遍历 中序遍历 后序遍历 层序遍历

二叉树前序遍历 中序遍历 后序遍历 层序遍历。

2024-10-15 09:03:08 161

原创 算法模板_09 最小生成树 最短路 二分图匹配

【代码】算法模板_09 图论 最小生成树 拓扑排序 最短路 二分图匹配。

2024-10-13 14:44:59 168

原创 算法模板_08 并查集 二叉堆 KMP Trie

【代码】算法模板_08 并查集。

2024-10-13 14:23:50 147

原创 算法模板_07 数论

【代码】算法模板_07 数论。

2024-10-13 13:59:45 261

原创 算法模板_06 贪心-区间问题

【代码】算法模板_06 贪心-区间问题。

2024-10-13 13:45:21 177

原创 算法模板_05 动态规划-网格图

【代码】算法模板_05 动态规划-网格图。

2024-10-13 13:35:05 157

原创 算法模板_03 背包问题

【代码】算法模板_03 背包问题。

2024-10-13 13:12:22 147

原创 算法模板_02 搜索 八皇后问题

【代码】基础算法模板_02 搜索。

2024-10-13 10:22:57 113

原创 算法模板_01 高精度 二分 logTrick 排序 前缀和 差分

【代码】基础算法模板_01。

2024-10-13 08:53:17 317

空空如也

空空如也

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

TA关注的人

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