华为OD机试双机位A卷 - 二维伞的雨滴效应 (C++ & Python & JAVA & JS & GO)

51 阅读2分钟

华为OD机试双机位A卷 - 二维伞的雨滴效应

2025华为OD机试2025双机位A卷 - 华为OD上机考试2025年双机位A卷 200分题型

华为OD机试双机位A卷真题目录点击查看: 华为OD机试双机位A卷真题题库目录|机考题库 + 算法考点详解

题目描述

普通的伞在二维平面世界中,左右两侧均有一条边,而两侧伞边最下面各有一个伞坠子,雨滴落到伞面,逐步流到伞坠处,会将伞坠的信息携带并落到地面,随着日积月累,地面会呈现伞坠的信息。

1、为了模拟伞状雨滴效应,用二叉树来模拟二维平面伞(如下图所示),现在输入一串正整数数组序列(不含0,数组成员至少是1个),若此数组序列是二叉搜索树的前序遍历的结果,那么请输出一个返回值1,否则输出0。

2、同时请将此序列构成的伞状效应携带到地面的数字信息输出来(左边伞坠信息,右边伞坠信息,详细参考示例图地面上数字),若此树不存在左或右扇坠,则对应位置返回0。同时若非二叉排序树那么左右伞坠信息也返回0。

200354d95c234423950b5f39f16288ef.png

输入描述

一个通过空格分割的整数序列字符串,数组不含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表示右侧地面呈现的伞坠数字值

题解

C++、Java、Python、JavaScript、Go实现源码和详细实现思路解析,点击跳转查看