摘要: 传统单机数据库中往往使用auto_increment属性的主键作为ID,但由于不同机器的重复性,该方案在分布式环境中不生效。 总体设计流程 了解问题并且确定设计范围,假定具有以下特性 唯一标识符具有唯一性 按日期排序 只包含数字 64位 每秒可生成10000个 提出设计并且获得批准 多主复制 通用唯 阅读全文
posted @ 2025-07-17 00:19 tanch25 阅读(12) 评论(0) 推荐(0)
摘要: 键值对数据库是一种非关系型数据库。其中键是唯一的,值是不透明的,可以通过相关的键进行访问。本章的目标是设计一个键值存储,支持基本的插入和查询操作。其具有以下特点: 单个键值对大小较小,小于10KB 能够存储大数据 具有高可用性:在故障期间也可快速响应 高扩展性:可扩展至支持大型数据集 自动缩放:根据 阅读全文
posted @ 2025-07-17 00:19 tanch25 阅读(29) 评论(0) 推荐(0)
摘要: 第五章 设计一致性哈希 一致性哈希是在水平分布的服务器上高效、均匀分配数据和请求的技术。分为以下内容: 一致性散列是什么 为什么需要一致性散列 一致性散列如何工作 一致性哈希的特殊性 传统哈希在分配数据的时候,往往使用模运算来完成分配。在模数发生变化的时候,对应的键到服务器的映射需要重新分配。而一致 阅读全文
posted @ 2025-07-17 00:19 tanch25 阅读(9) 评论(0) 推荐(0)
摘要: 第一题 给出员工(\(n \leq 100\))和对应的亲属关系,询问能否将其分为两个组合,要求亲属不在同一侧。 要求两个组合中第一个数尽量小。 一眼并查集,即员工i的亲属属于同一个集合,生成一个集合编号j。 记录员工i以及与之互斥的点,用于后续获取员工i互斥的集合编号j。 由于要求组合中第一个数尽 阅读全文
posted @ 2024-09-27 23:04 tanch25 阅读(261) 评论(0) 推荐(0)
摘要: 第一题 求相同数字的子序列的最大长度,允许修改3次。 转化为区间内相同数字出现最大次数与区间长度的差值小于等于3的滑动窗口。 右指针移动修改出现次数 遍历所有可能出现的次数,得到最大出现次数 移动左值针直到满足条件 维护结果 #include<bits/stdc++.h> using namespa 阅读全文
posted @ 2024-09-27 17:24 tanch25 阅读(14) 评论(0) 推荐(0)
摘要: 唯一编程题 给出n个三角形的端点序号,询问重合三角形的最大集合有多少个三角形? 依次计算两两之间的关系,使用并查集获取连通块求解 int maxConnectedTrianglesSize(vector<vector<int> >& indexArray, int n) { vector<int> 阅读全文
posted @ 2024-09-21 10:44 tanch25 阅读(69) 评论(0) 推荐(0)
摘要: 第一题 给出n,d,m,分别代表多项式个数、维度和修改次数。 接下来n行以t开头,接下来t+1个数分别代表0次1次--的项系数 接下来m行以p,l,r开头分别代表修改第l个到第r个多项式的前p+1项系数。 最后输出n个多项式f(233)的结果,要求结果对1e7 + 9取模。 最后计算结果的次数上限设 阅读全文
posted @ 2024-09-19 21:19 tanch25 阅读(31) 评论(0) 推荐(0)
摘要: 简单入门题 第一题 给出容量为N的背包、n个物品和c个体积为1的填充块,询问是否能够将背包刚好充满。 价值与体积相同的0/1背包,结尾判断差值是否小于c #include<bits/stdc++.h> using namespace std; int main() { int T; cin >> T 阅读全文
posted @ 2024-09-19 21:18 tanch25 阅读(10) 评论(0) 推荐(0)
摘要: 第二题大模拟真的有点折磨了 第一题 给出m种饮料,每种饮料只有一杯,接下来有n个客人,每个客人有两种想喝的饮料,请问最多能满足多少位客人。 数据范围比较小n = 20,所以直接暴力求解 #include<bits/stdc++.h> using namespace std; int main() { 阅读全文
posted @ 2024-09-14 19:51 tanch25 阅读(20) 评论(0) 推荐(0)
摘要: 三道都是简化的板子题 第一题 给出每个位置的过路费,求从左上角到右下角的最小花费是多少。 只允许往下或者往右走。 数据范围只有100直接暴力搜索即可。 int minPathSum(vector<vector<int> >& grid) { int m = grid.size(); int n = 阅读全文
posted @ 2024-09-14 17:42 tanch25 阅读(34) 评论(0) 推荐(0)