自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Level DB --- TableCache

TableCache 是Level DB 中重要的类,Level DB 中多层(multi level),且每一层(level)有多个 key-value file,TableCache正是用来缓存多层以及多层中的file数据,更快速地检索。

2025-03-30 21:02:31 186

原创 买卖股票的最佳时机(121)

计算时间复杂度O(N),空间复杂度O(1)。

2025-03-29 20:31:36 235

原创 将有序数组转换为二叉搜索树(108)

计算时间复杂度O(N),空间复杂度O(N)。

2025-03-29 20:00:45 151

原创 子集||(90)

计算的时间复杂度O(N2exp(N)),一共有N个数字,每一个数字都会作为头数字计算子集,在子集中每一个数字都会进入子集和不进入子集2个状态。空间复杂度O(N),这里主要用一个N维bool数字记录status,同时递归中栈空间累积最多N层。

2025-03-23 17:35:21 191

原创 Level DB --- WriteLevel0Table

当memtable中的数据达到阈值,内存中的数据要序列化到文件中,WriteLevel0Table正是这个过程的模块。

2025-03-23 17:20:39 246

原创 二叉树的层序遍历||(107)

计算时间复杂度O(N),空间复杂度O(N)。

2025-03-22 19:43:51 213

原创 Level DB --- Compaction后台架构

Level DB的小文件会在后台不断进行Compaction计算,在架构上既要保证数据的安全,同时要保证Compaction计算的效率。

2025-03-19 06:30:00 223

原创 删除有序数组中的重复项(26)

计算时间复杂度O(N),空间复杂度O(1),

2025-03-15 21:15:55 262

原创 二叉树的层序遍历(102)

总结:计算时间复杂度O(N),空间复杂度O(N)。

2025-03-15 19:52:15 161

原创 Level DB --- 写流程计算

写流程架构已经介绍,写流程计算包括写日志,和将kv插入到memtable中。

2025-03-09 20:28:52 206

原创 子集(78)

计算时间复杂度O(N*2expN),空间复杂度O(N),

2025-03-08 21:56:26 249

原创 平衡二叉树(110)

计算时间复杂度O(N),空间复杂度O(N),

2025-03-08 21:47:22 207

原创 Level DB --- 写流程架构

Level DB是高效的k-v数据库,接受多线程写,既要保证多线程写临界区安全,同时又要保证写流程的尽量高效性。

2025-03-02 14:49:40 318

原创 杨辉三角2(119)

【代码】杨辉三角2(119)

2025-03-02 10:25:31 123

原创 只出现一次的数字(136)

计算复杂度O(N),空间复杂度O(1).

2025-03-01 19:47:42 138

原创 Level DB --- Table

class Table 是 Level DB核心的几个组件之一,Table里面序列化高效存储了key-value,table是不可变的(immutable),并且持久存储的(persistent)。

2025-02-23 21:26:01 478

原创 合并区间(56)

时间计算复杂度O(NlogN)---sort 排序,空间复杂度O(1),不需要重新构建数组,这里面通过cur_index记录intervals数组的当前填充位置,算法细节见注释。

2025-02-22 20:49:40 190

原创 接雨水(42)

计算时间复杂度O(N),空间复杂度O(N),这是一个dp的算法题,详情请看注释。

2025-02-22 19:38:36 176

原创 Level DB --- two_level_iterator

two_level_iterator 是 Level DB 中 table核心的迭代器。该迭代器定义了table对于block的读写操作。

2025-02-16 20:42:55 383

原创 反转链表2(92)

【代码】反转链表2(92)

2025-02-15 18:36:59 159 1

原创 反转链表(206)

计算时间复杂度O(N),空间复杂度O(1)

2025-02-15 15:50:11 217

原创 最大子数组和(53)

总结:计算时间复杂度O(N),空间复杂度O(1),

2025-02-15 14:53:05 113

原创 Level DB --- Iterator

Iterator是Level DB中的一个基类,它定义了迭代器的基础的操作,同时对内存资源进行了维护。

2025-02-09 21:20:38 268

原创 汇总区间(228)

计算时间复杂度O(N),空间复杂度O(1)。

2025-02-09 19:34:14 211

原创 全排列(46)

这道题很容易让人想到递归的方法,同时需要回溯。计算的时间复杂度O(N * N!),空间复杂度主要来自递归在栈空间上的使用,因为调用N次,每次使用的占空间固定为O(1),所以空间复杂度是O(N)。

2025-02-04 18:44:08 213

原创 搜索插入位置(35)

计算时间复杂度O(N),空间复杂度O(1)。

2025-02-03 19:42:05 294

原创 恢复二叉搜索树(99)

算法过程:对于二叉搜索树,它的中序遍历是val递增的序列。对于交换了其中的两个val, 存在2种情况,举一个例子,例如{1, 2, 3, 4, 5, 6, 7, 8},a.交换相邻的两个数字,譬如交换2,3,则序列为{1, 3, 2, 4, 5, 6, 7, 8},存在1个逆序关系(3->2);b.交换不相邻的两个数字,譬如交换2,5,则序列为{1, 5, 3, 4, 2, 6, 7, 8},则存在两个逆序关系(5->3,4->2 )。在代码中predecessor代表遍历的当前节点的前一个节点。

2025-02-02 16:01:51 233

原创 三角形的最大周长(976)

计算的时间复杂度O(NlogN),空间复杂度O(1),,都是三数之和相关的问题。

2025-02-02 15:32:53 203

原创 三数之和(15)

计算的时间复杂度O(n2),空间复杂度O(1),

2025-02-02 15:27:55 217

原创 Level DB --- table.format

table.format是Level DB中table序列化、反序列化重要的辅助类。它用来定义序列化、反序列化的核心结构体和操作实现。

2025-02-01 18:38:41 460

原创 验证二叉搜索数(98)

计算时间复杂度O(N),其空间复杂度O(N),具体算法如上述代码和注释。

2025-01-31 18:43:12 176

原创 加一(66)

计算时间复杂度O(N),计算空间复杂度O(1)。

2025-01-31 18:27:30 275

原创 拼车(1094)

时间复杂度O(NlogN),空间复杂度O(N),

2025-01-30 22:00:23 365

原创 至少是其他数字两倍的最大数(747)

时间复杂度O(N),空间复杂度O(1),

2025-01-29 19:19:43 233

原创 数据流中的第 K 大元素(703)

计算复杂度O(logN),空间复杂度O(0),

2025-01-28 19:49:05 229

原创 重构字符串(767)

总结:时间复杂度O(N2logN),空间复杂度O(N),

2025-01-27 20:39:17 727

原创 Level DB --- TableBuilder

TableBuilder是Level DB里面重要的类和模块,它描述了数据如何序列化到文件中,以及数据里面的格式逻辑。它里面包含了之前介绍的多个模块和类。

2025-01-26 23:57:39 496

原创 二叉树前序遍历(144)、中序遍历(94)、后序遍历(145)

总结:时间复杂度O(N),空间复杂度O(N),

2025-01-26 19:41:39 183

原创 不同路径(62)

空间复杂度O(m*n),时间复杂度O(m*n),

2025-01-25 22:26:15 269

原创 杨辉三角形(118)

时间复杂度O(n2),空间复杂度O(n2), 注意vector的初始化构造函数,和resize,让代码简洁。

2025-01-25 19:10:42 259

Qt程序设计教程

Qt程序设计的简略教程,快速了解Qt哦!

2013-05-01

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

TA关注的人

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