华为OD机试-传递悄悄话(JavaPythonGo)100%通过率

news/2024/7/20 19:26:08 标签: 华为od, java, python, 算法, javascript

  题意

给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二又树所有节点上的人都接收到悄悄话花费的时间。

输入

给定一叉树
09 20-1-1 157-1-1-1-132
注:-1表示空节点

输出

返回所有节点都接收到悄悄话花费的时间38

示例

示例1

输入 0 9 20 -1 -1 15 7 -1 -1 -1 -1 3 2
输出 38
说明

题目解析

1.不用真实构造二叉树,当前节点下标 idx ,左子树下标 idx * 2 + 1, 右子树下标 idx * 2 + 2,需要判断下标是否超出数组长度范围,超出则表示不存在,同时-1也表示不存在

Java代码

java">import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanne

http://www.niftyadmin.cn/n/5261527.html

相关文章

Java8——Lambda 表达式

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。使用 Lambda 表达式可以将代码块作为方法参数,使代码变的更加简洁紧凑。坦白的说,初次看见Lambda表达式瞬间头就大了,为了更好的理解,我们…

Express中使用Swagger

Swagger Swagger 是一种规范,用于描述 API 的结构,功能和参数。使用 Swagger 可以提供清晰的可视化 API 文档,可用于 API 交互的文档驱动开发,以及 API 的自动化测试和集成。 使用 npm 或 yarn 下载。 npm install swagger-jsdo…

Flutter常用命令

一、环境安装 flutter --version 查看当前安装的flutter 版本 flutter upgrade 升级当前的flutter 版本 flutter doctor 检查环境安装是否完成 二、项目编译运行 flutter clean 清空build目录 flutter pub get 获取pub插件包 flutter run --设备名称 运行项目到指定设…

Qt 面试指南

一、c基础知识 1、进程和线程的同步方式 进程:1)管道,是内核里的一串缓存 2)消息队列 3)共享内存 4)信号量机制 5)信号 6)socket 线程:1)等待通知机制 2&…

Python multiprocessing包的基本使用

Python的multiprocessing包是Python标准库中提供的一个多进程库,它允许程序员利用Python中的进程进行并行计算。通过multiprocessing包,程序员可以创建多个进程并在这些进程之间进行通信和同步操作。下面我们将详细介绍multiprocessing包的基本使用方法。…

Binder IPC通讯流程 摘要

一次完整的 Binder IPC 通信过程通常是这样: 首先 Binder 驱动在内核空间创建一个数据接收缓存区;接着在内核空间开辟一块内核缓存区,建立内核缓存区和内核中数据接收缓存区之间的映射关系,以及内核中数据接收缓存区和接收进程用…

【从零开始学习JVM | 第八篇】学习垃圾回收算法 和 垃圾回收器

前言: 现代编程语言通常采用垃圾回收机制来自动管理内存。垃圾回收机制是一种自动化的内存管理技术,可以在程序运行时自动识别和回收不再使用的内存,从而减少内存泄漏和其他内存相关问题的发生。 本文将介绍垃圾回收算法和垃圾回收器的相关…

在Nexus上配置Docker镜像仓库

现在Docker镜像的工具已不少了,只是在Java老牌又持久的工具Nexus上配置本地Docker仓库镜像是一件即有情怀又充份利用资源的事情。 Nexus支持多种仓库类型,例如:maven、npm、docker等。 安装Nexus (略) Docker镜像配…