AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3609. 二维伞的雨滴效应

困难通过率 36% · 提交 110 · 通过 40
二叉树DFS模拟构造

小慕在二维平面上设计了一把特殊的伞,伞的左右两侧各有一条边,每条边的最下方各有一个。当雨滴落在伞面上,会沿着伞面流到伞坠处,携带伞坠的信息滴落到地面。久而久之,地面上就会显现出两个伞坠的信息。 1. 为了模拟这种伞状雨滴效应,小慕用一棵二叉树来表示伞的结构(如下图所示)。现在输入一串正整数数组(不含0,至少包含1个元素),如果这个数组是某棵结果,则输出1,否则输出0。 2. 同时,请输出这棵树所对应的左右伞坠信息(即地面上的数字,详细参考示例图中的地面数字)。如果树没有左伞坠或右伞坠,则对应位置输出0。如果该树不是二叉搜索树,则左右伞坠信息也输出0。

提示:带虚线的词点一下有通俗解释。

输入描述

一个通过空格分割的整数序列字符串,数组不含0,数组成员至少1个,输入的数组的任意两个数字都互不相同,最多1000个正整数,正整数值范围1~65535

输出描述

输出如下三个值,以空格分隔:是否二叉排序树,左侧地面呈现的伞坠数字值,右侧地面呈现的伞坠数字值。 若是二叉排序树,则输出1,否则输出0(其左右伞坠值也直接赋值0)。 若不存存在左侧或者右侧伞坠值,那么对应伞坠值直接赋值0。

示例

示例 1

输入

8 3 1 6 4 7 10 14 13

输出

1 1 13

说明:1表示是二叉搜索树前序遍历结果,1表示左侧地面呈现的伞坠数字值,13表示右侧地面呈现的伞坠数字值

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
8 3 10 1 6 14 13 4 7 地面 左伞坠:1 右伞坠:13 二叉搜索树前序遍历: 8 3 1 6 4 7 10 14 13
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「二维伞的雨滴效应」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。