首页
个人开发
工作相关
搜索
登录
搜索
colo
欲买桂花同载酒
累计撰写
1823
篇文章
累计收到
0
条评论
首页
栏目
首页
个人开发
工作相关
查找算法
2025-12-11
实现二分查找算法
二分查找是一种在有序数组中快速定位目标值的算法:时间复杂度:O(log n)核心步骤:定义左右指针(初始为数组首尾)计算中间索引 mid = (left + right) / 2比较 mid 处的值与目标值根据比较结果调整左右边界终止条件:left > right 或找到目标值
2025年-12月-11日
4 阅读
0 评论
查找算法
2025-12-11
实现有序数组的二分查找
二分查找是在有序数组中高效查找目标值的算法,核心步骤:确定查找范围的左右边界(初始为数组首尾索引)计算中间位置 mid = (left + right) / 2比较 mid 处的值与目标值:若相等则返回索引若目标值较小,则在左半部分继续查找(right = mid - 1)若目标值较大,则在右半部分继续查找(left = mid + 1)重复直到找到目标值或边界交叉(left > right)时间复杂度:O(log n),空间复杂度:O(1)
2025年-12月-11日
4 阅读
0 评论
查找算法
2025-12-8
设计支持快速插入、删除和随机访问的数据结构
设计一个支持以下操作的数据结构:insert(val):插入元素(若不存在)remove(val):删除元素(若存在)getRandom():随机返回一个元素(概率均等)所有操作平均时间复杂度应为 O(1)。解决方案:使用动态数组存储元素,支持 O(1) 随机访问使用哈希表记录元素到数组索引的映射插入时:数组末尾添加,哈希表记录索引删除时:将待删元素与末尾元素交换,更新哈希表索引,删除末尾元素随机访问:生成随机索引返回数组元素
2025年-12月-8日
4 阅读
0 评论
查找算法
2025-12-8
设计支持范围查找的日志时间戳系统
设计一个高效的数据结构支持以下操作:insert(timestamp): 插入时间戳query(start, end): 返回 [start, end] 范围内的所有时间戳核心实现方案:使用平衡二叉搜索树(如Java的TreeSet)或跳表存储数据插入操作保持有序性(平均O(log n))范围查询利用二分查找定位边界(O(log n + k),k为结果数量)替代方案:线段树(适合频繁范围查询但插入较少场景)
2025年-12月-8日
5 阅读
0 评论
查找算法