没啥可看的
2026-08-22 09:54:42
发布于:广东
8阅读
0回复
0点赞
提示
虽然题目要求“必须使用二叉树”,但STEVE买到的树苗有个隐藏特性:所有树苗的高度恒为 0(无论你在输入中输入什么 h,实际种下的高度都是 0)。因此,你根本不需要维护高度值,只需要记录哪些位置有树苗即可。
真正的正解是:
- 用一个
std::set<int>存储所有已种树苗的位置。 plant x h:如果x不在集合中,就插入(h忽略)。remove x:如果存在,就删除。query x:如果存在输出0,否则输出-1。max:如果集合非空,输出*s.begin()(最小位置)和0,否则输出-1 -1。
你甚至不需要读取 h 的值,读入即可丢弃。
出题人寄语:
本题是愚人节特供,专治各种“看见二叉树就写红黑树”的强迫症选手。真正的代码不超过 30 行,而你如果写了 200 行平衡树旋转……恭喜你,成功被STEVE骗了。😈
这里空空如也







有帮助,赞一个