问题描述
-
要求一串整数流在尽可能短的时间内求得已读取的数字流中比x 小的元素个数。注意是数据流的问题,所以要考虑新元素的加入与求解个数的影响。
-
顺时针打印旋转矩阵元素。
解题思路
T1
- 方法一:
在C++中,你可以使用STL中的std::set或std::multiset来实现这样的数据结构。它们底层通常是基于平衡二叉搜索树实现的,可以高效地插入、删除和查找元素。
- 方法二:
手撕平衡二叉搜索树
-
首先,我们定义了一个
Node
结构体,用于表示二叉搜索树的节点。每个节点包含一个整数值data
,表示节点的值,以及一个整数值count
,表示以该节点为根的子树中的节点个数。节点还有左右子节点的指针。 -
然后,我们定义了一个
BST
类,用于表示二叉搜索树。这个类中包含了root
成员变量,表示树的根节点。 -
BST
类中的insert
方法用于向二叉搜索树中插入一个新节点。如果树为空,则创建一个新节点并将其作为根节点;否则