Bare Algo
搜索算法...
Ctrl+K
线段树与树状数组
动态区间查询/更新:区间和、最值、逆序对、离线查询等。
算法题
(5)
307. 区域和检索 - 数组可修改
中等
给你一个数组 nums,请你完成两类查询:更新数组 nums 下标 index 的值,返回数组 nums 中 [left, right] 区间的和。
数组
设计
树状数组
线段树
315. 计算右侧小于当前元素的个数
困难
给你一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 中,counts[i] 表示 nums[i] 右侧小于 nums[i] 的元素数量。
数组
二分查找
分治
树状数组
线段树
归并排序
327. 区间和的个数
困难
给你一个整数数组 nums 以及两个整数 lower 和 upper。求数组中,值位于范围 [lower, upper](包含 lower 和 upper)之内的区间和的个数。
数组
二分查找
分治
树状数组
线段树
归并排序
732. 我的日程安排表 III
困难
当 k 个日程有一些时间上的交叉时(例如 k 个日程都在同一个时间内),返回最大的 k 值(最大重叠日程数)。
设计
线段树
有序集合
715. Range 模块
困难
Range 模块是跟踪数字范围的模块。设计一个结构,支持在半开区间添加、删除和查询操作。
设计
线段树
有序集合
实际应用
(5)
实时数据看板
困难
在监控面板中支持对时间序列数据进行区间聚合查询(求和、最值),使用树状数组或线段树实现 O(log N) 的动态更新和查询。
线段树
树状数组
数据可视化
实时监控
排行榜实时排名
中等
在游戏或竞赛系统中,支持用户分数更新后快速查询其当前排名(小于当前分数的人数),使用树状数组实现 O(log N) 操作。
树状数组
离散化
游戏系统
排行榜
Canvas 碰撞检测加速
困难
在 2D 游戏或绘图应用中,使用线段树或区间树加速矩形碰撞检测,将 O(N²) 降低到 O(N log N)。
区间树
线段树
游戏开发
图形渲染
代码覆盖率统计
中等
在测试工具中统计代码行的覆盖情况,支持区间标记(已覆盖/未覆盖)和快速查询总覆盖行数。
线段树区间更新
开发工具
测试覆盖
股票价格区间查询
困难
支持查询任意时间区间内的最高价、最低价、均价等聚合指标,使用线段树维护多种统计量。
多值线段树
金融应用
数据分析