华为OD机试真题 Java 实现【微服务的集成测试】【2023Q1 100分】

news/2024/9/5 19:10:31 标签: java, 华为, 集成测试, 算法

在这里插入图片描述

一、题目描述

现在有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。
给你一个 nxn 的二维矩阵 useTime,其中 useTime[i][i]=10 表示服务 i 自身启动加载需要消耗10s,useTime[i][j]=1 表示服务 i 启动依赖 j 启动完成,useTime[i][k]=0,表示服务 i 启动不依赖服务 k,其实0 <= i,j,k <n。服务之间启动没有循环依赖,若想对任意一个服务 i 进行集成测试(服务 i 自身也需要加载),求最少需要等待多长时间。

二、输入描述

第一行输入服务总量n,之后的 n 行表示服务启动的依赖关系以及自身启动加载耗时。

最后一行输入 k 表示计算需要等待多长时间后可以对服务 k 进行集成测试

其中 1 <= k <= n,1 <= n <= 100。

三、输出描述

最少需要等待多长时间(s)后可以对服务 k 进行集成测试

四、Java算法源码

java">public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int[][] nums = new int[n][n];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            nums[i][j] = sc.nextInt();
        }
    }
    int k = sc.nextInt();
    //从第K个服务,对应到数组行数就是k-1
    int time = needTime(nums, k - 1);
    System.out.println(time);

}

//获取当前服务的需要等待的最少时间
public static int needTime(int[][] nums, int k) {
    int n = nums[0].length;

    int selfTime = nums[k][k];
    int dependMaxTime = 0;
    for (int i = 0; i < n; i++) {
        if (nums[k][i] == 1 && i != k) {
            int time = needTime(nums, i);
            dependMaxTime = Math.max(dependMaxTime, time);
        }
    }
    return selfTime + dependMaxTime;
}

五、效果展示

1、输入

3
5 0 0
1 5 0
0 1 5
3

2、输出

15

在这里插入图片描述


🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述


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

相关文章

网站电脑商城项目笔记

目录 注册 3.1规划需要执行的SQL语句 3.2设计接口和抽象方法 3.3编写映射 4.注册-业务层 4.1规划异常 4.2设计接口和抽象方法 5.注册控制层 5.1创建响应 5.2设计请求 5.3处理请求 5.4控制层优化设计 6.注册-前端页面 注册 持久层&#xff1a;通过Mybatis来操作数据…

Grafana 系列-统一展示-3-Prometheus 仪表板

系列文章 Grafana 系列文章 知识储备 Prometheus Template Variables 你可以使用变量来代替硬编码的细节&#xff0c;如 server、app 和 pod_name 在 metric 查询中。Grafana 在仪表盘顶部的下拉选择框中列出这些变量&#xff0c;帮助你改变仪表盘中显示的数据。Grafana 将…

模型微调的预处理

一.简历文本标注数据的准备 目标&#xff1a;把原始数据集转换为PaddleNLP支持的文本/文档抽取标注格式&#xff0c;为后续的模型微调做好准备。 工具&#xff1a;Label Studio 使用手册&#xff1a; applications/information_extraction/label_studio_text.md PaddlePad…

如何选择合适的智能氮气柜?

随着电子产品的普及&#xff0c;IC、半导体、精密元件、检测仪器之类的物品对湿度要求越来越高&#xff0c;潮湿、霉菌和金属氧化所造成的损害&#xff0c;随时在发生。人们对于物品的存放环境要求逐渐提高&#xff0c;利用防潮设备如智能氮气柜、电子防潮柜来存储产品也越来越…

使用rsync和inotify实时备份CentOS服务器数据(详解)

简介 在日常运维中&#xff0c;确保服务器上的数据安全是至关重要的。数据丢失或损坏可能会导致灾难性后果&#xff0c;因此定期备份数据是一个明智的做法。本文LZ将向您展示如何使用 rsync 和 inotify-tools 工具在 CentOS 系统上设置实时备份&#xff0c;以确保您的数据始终…

QT + OpenGL + FFmpeg写的一个全景视频播放器

临时被分配了一个任务 写一个C版本的全景视频播放器 网上搜了搜 基于前辈的基础上 写的差不多了 测试视频源是用ffmpeg拉RTSP的流 最终是要嵌入到别的一个视频播放器模块 所以解码这块我不用太关注 只要实现渲染就可以了 效果如下 左边的窗口用于输入视频源 以及显示…

web网络安全

在学习网络安全之前&#xff0c;必须要先知道一个组织——OWASP。 OWASP是一个开源的、非盈利的全球性安全组织&#xff0c;致力于应用软件的安全研究。我们基于该组织公布的技术文档来学习相关网络攻击原理和预防措施&#xff0c;web安全的核心是——永远不要相信用户传过来的…

VS2022编译安装Qt6.5源码

一、准备环境 包括安装VS2022&#xff0c;Windows SDK&#xff0c;Python3&#xff0c;这里就不再一一介绍了&#xff0c;需要说明的一点是还需要安装python的html5lib库&#xff0c;否则会报警告&#xff1a; WARNING: QtWebEngine wont be built. Python3 html5lib is miss…