6.28华为OD机试真题 新系统 - 盘丝洞破阵寻珠 (Java/Py/C/C++/Js/Go)

盘丝洞破阵寻珠

2026 华为OD机试真题 6月24日华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

题目描述

天命人深入盘丝洞,洞内布满了蜘蛛精设下的迷阵。整座洞穴呈二叉树结构,每个结点是一间石室,石室中藏有灵气结晶(整数,可正可负,零值视为非负)。

天命人从根石室出发,寻找通往叶子石室的路径收集灵气。但盘丝洞有毒瘴禁制:路径上不允许出现连续两个或以上灵气值为负的石室。

叶子石室的定义:左右子结点均为空的结点。

请实现一个函数,在一遍遍历中同时计算以下三个指标:

  1. 合法路径的最大灵气和
  2. 是否存在合法路径和 ≥ 给定阈值
  3. 合法路径的总数

输入描述

二叉树根节点 root,整数 threshold

输出描述

包含 3 个整数的数组 [max_val, has_path_ge, count]:

  • max_val:合法路径的最大灵气和,无合法路径返回 −2147483648
  • has_path_ge:存在合法路径和 ≥threshold 返回 1,否则返回 0
  • count:合法路径的总数

二叉树输入格式说明

二叉树采用层次遍历方式序列化表示:

  • 按从上到下、从左到右的顺序依次列出每个节点的值
  • # 表示该位置为空节点(无子节点)
  • 空树用 {} 或 {#} 表示

示例:{10,−5,20,#,8,−6,15} 表示:

img

解析规则:根节点为 10,左子节点 −5(其左子为空 #,右子为 8),右子节点 20(左子 −6,右子 15)。

数据范围

项目 范围
节点数 0≤n≤105
节点值 −100≤val≤100
树深度 ≤104
阈值 −109≤threshold≤109

空树说明:当 n=0 时返回 [−2147483648,0,0]。

示例1

输入

10,-5,20,#,8,-6,15
40

输出

45,1,3

说明

从根到叶子共 33 条路径:

img

从根到叶子共 3 条路径:

  • 10→−5→8,和 = 13,负节点
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值