shi0rik0 的博客shi0rik0 的博客
主页
所有文章
按类别浏览
按标签浏览
Ubuntu 实用脚本
Next.js 配置脚本
主页
所有文章
按类别浏览
按标签浏览
Ubuntu 实用脚本
Next.js 配置脚本
ACGN 1pinia 1electron 2理财 1神经网络 1transformer 1npm 1WSL 1算法八股文 7滑动窗口 1前缀和 1前缀树 1树状数组 1SSE 1Linux 1VS Code 1VuePress 1Spring 2
LeetCode题解:数字流的秩

Date: 6/6/2025Category: Tag: 算法八股文, 树状数组

题目链接:https://leetcode.cn/problems/rank-from-stream-lcci/

解题思路

这道题目的官方提示是使用一个携带额外信息的二叉搜索树来解决问题,用二叉搜索树的优点是对于输入数据的范围没有限制,但是缺点在于:如果使用朴素的二叉搜索树,最坏时间复杂度会很差,而平衡二叉搜索树的实现会比较复杂。考虑到题目中x的范围是[0, 5e4],我们也可以使用树状数组来解决问题。

树状数组

树状数组(Binary Indexed Tree),也叫Fenwick Tree,是一种数据结构,可以用来高效地维护一个固定长度数组(设长度为N)的区间和。它支持两种操作: