当前位置: 首页 > news >正文

【华为OD题库-064】最小传输时延I-java

题目

某通信网络中有N个网络结点,用1到N进行标识。网络通过一个有向无环图.表示,其中图的边的值表示结点之间的消息传递时延。
现给定相连节点之间的时延列表times[]={u,v, w),其中u表示源结点,v表示目的结点,w表示u和v之间的消息传递的时延。请计算给定源结点到目的结点的最小传输时延,如果目的结点不可达,返回-1。
注:N的取值范围为[1,100];
时延列表times的长度不超过6000,且1<= u,v<= N,0<=w <= 100;
输入描述:
输入的第一行为两个正整数,分别表示网络结点的个数N,以及时延列表的长度M,用空格分隔;
接下来的M行为两个结点间的时延列表[u v w];
输入的最后一行为两个正整数,分别表示源结点和目的结点。
在这里插入图片描述

输出描述:
起点到终点得最小时延,不可达则返回-1
示例1:
输入:
3 3
1 2 11
2 3 13
1 3 50
1 3
输出:
24

思路

Dijkstra 算法,该算法B站视频讲解得较清楚
同leetcode: 743. 网络延迟时间

每次从未标记的节点中选择距离起点最近的节点,标记
计算刚加入节点A的邻近节点B的距离(不包含标记的节点),若(节点A的距离+节点A到节点B的边长)<节点B的距离,就更新节点B的距离

题解

package hwod;import java.util.Arrays;
import java.util.Scanner;public class TheLeastDelayTime {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt(), m = sc.nextInt();int[][] nums = new int[m][3];for (int i = 0; i < m; i++) {for (int j = 0; j < 3; j++) {nums[i][j] = sc.nextInt();}}int start = sc.nextInt(), end = sc.nextInt();System.out.println(theLeastDelayTime(nums, n, start, end));}private static int theLeastDelayTime(int[][] nums, int n, int start, int end) {int[][] g = new int[n][n];final int INF = Integer.MAX_VALUE / 2;//防止越界//g[i][j]代表节点i到节点j的距离for (int i = 0; i < n; i++) {Arrays.fill(g[i], INF);}for (int[] t : nums) {int x = t[0] - 1, y = t[1] - 1;g[x][y] = t[2];}int[] used = new int[n];//判断某个节点是否被标记int[] dist = new int[n];//每个节点到起点的距离Arrays.fill(dist, INF);dist[start - 1] = 0;for (int i = 0; i < n; i++) {//每次更新一个distint x = -1;//找到未标记的,距离起点最近的节点xfor (int y = 0; y < n; y++) {if (used[y] == 0 && (x == -1 || dist[y] < dist[x])) {x = y;}}used[x] = 1;//更新标记节点邻近的节点距离for (int y = 0; y < n; y++) {dist[y] = Math.min(dist[y], dist[x] + g[x][y]);}}return dist[end - 1] == INF ? -1 : dist[end - 1];}
}

推荐

如果你对本系列的其他题目感兴趣,可以参考华为OD机试真题及题解(JAVA),查看当前专栏更新的所有题目。

相关文章:

【华为OD题库-064】最小传输时延I-java

题目 某通信网络中有N个网络结点&#xff0c;用1到N进行标识。网络通过一个有向无环图.表示,其中图的边的值表示结点之间的消息传递时延。 现给定相连节点之间的时延列表times[]{u&#xff0c;v&#xff0c; w)&#xff0c;其中u表示源结点&#xff0c;v表示目的结点&#xff0…...

全文检索[ES系列] - 第495篇

历史文章&#xff08;文章累计490&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 M…...

【预计IEEE出版|EI征稿通知】第六届下一代数据驱动网络国际学术会议 (NGDN 2024)

第六届下一代数据驱动网络国际学术会议 (NGDN 2024) The Sixth International Conference on Next Generation Data-driven Networks 2024年4月26-28日 | 中国沈阳 基于前几届在英国埃克塞特 (ISPA 2020) 、中国沈阳 (TrustCom 2021) 和中国武汉 (IEEETrustCom-2022) 成功举…...

C++软件在Win平台运行总结

Windows平台&#xff1a; 1.需要安装运行库&#xff1a;无论是exe还是动态库用的哪种平台工具集(visual2010-visual2019)进行编译&#xff0c;需要安装对应的运行时库vc_redist.x64.exe/vc_redist.x86.exe。比如Exe用的是VisualStdio2010工具集编译&#xff0c;其中链接的一个…...

【数电笔记】16-卡诺图绘制(逻辑函数的卡诺图化简)

目录 说明&#xff1a; 最小项卡诺图的组成 1. 相邻最小项 2. 卡诺图的组成 2.1 二变量卡诺图 2.2 三表变量卡诺图 2.3 四变量卡诺图 3. 卡诺图中的相邻项&#xff08;几何相邻&#xff09; 说明&#xff1a; 笔记配套视频来源&#xff1a;B站&#xff1b;本系列笔记并…...

前端面试灵魂提问(1)

1.自我介绍 2.在实习中&#xff0c;你负责那一模块 3.any与unknow的异同 相同点&#xff1a;any和unkonwn 可以接受任何值 不同点&#xff1a;any会丢掉类型限制&#xff0c;可以用any 类型的变量随意做任何事情。unknown 变量会强制执行类型检查&#xff0c;所以在使用一个…...

Linux中项目部署步骤

安装jdk&#xff0c;tomcat 安装步骤 1&#xff0c;将压缩包&#xff0c;拷贝到虚拟机中。 通过工具&#xff0c;将文件直接拖到虚拟机的/home下 2&#xff0c;回到虚拟机中&#xff0c;查看/home下&#xff0c;有两个压缩文件 3&#xff0c;给压缩文件做解压缩操作 tar -z…...

cmd下查看python命令的用法

在cmd下&#xff0c;可以运行python --help或者py --help来查看python命令的用法。例如&#xff1a;...

大型语言模型在实体关系提取中的应用探索(二)

上一篇文章我们探讨了如何使用大语言模型进行实体关系的抽取。本篇文章我们将进一步探索这个话题。比较一下国内外几款知名大模型在相同的实体关系提取任务下的表现。由于精力有限&#xff0c;我们无法全面测试各模型的实体关系抽取能力&#xff0c;因此&#xff0c;看到的效果…...

Easy Excel设置表格样式

1. 设置通用样式 import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.xxx.npi.config.easypoi.EasyExcelDateConverter; import lombok.Data; import …...

HarmonyOS/OpenHarmony应用开发

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 目标是面向全场景、全连接、全智能时代, 搭建一个智能终端设备操作系统的框架和平台, 促进万物互联产业的繁荣发展。 了解OpenHarmony HarmonyOS是华为通过OpenHarmony项目&#xff0c;结合商业…...

孩子都能学会的FPGA:第二十一课——用线性反馈移位寄存器实现伪随机序列

&#xff08;原创声明&#xff1a;该文是作者的原创&#xff0c;面向对象是FPGA入门者&#xff0c;后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门&#xff0c;作者不光让大家知其然&#xff0c;还要让大家知其所以然&#xff01;每个工程作者都搭建了全自动化的仿…...

国内 AI 成图第一案!你来你会怎么判?

我国目前并未出台专门针对网络爬虫技术的法律规范&#xff0c;但在司法实践中&#xff0c;相关判决已屡见不鲜&#xff0c;K 哥特设了“K哥爬虫普法”专栏&#xff0c;本栏目通过对真实案例的分析&#xff0c;旨在提高广大爬虫工程师的法律意识&#xff0c;知晓如何合法合规利用…...

快速登录界面关于如何登录以及多账号列表解析以及config配置文件是如何读取(1)

快速登录界面关于如何登录以及多账号列表解析以及config配置文件是如何读取 1、快速登录界面关于如何登录以及快速登录界面账号如何显示 如图所示:根据按下按钮一键登录中途会发生什么。 关于一键登录按钮皮肤skin的设置: <Button name"QuickLoginOkBtn" text&q…...

finebi 新手入门案例

finebi 新手入门案例 连锁超市销售数据分析 步骤&#xff1a; 准备公共数据新建分析主题处理数据在数据中分析在图形中分析数据大屏 准备公共数据 点击公共数据 点击新建文件夹 修改文件夹名称 上传数据 鼠标悬停在文件夹上&#xff0c;右侧出现 鼠标悬停在文件夹上&#x…...

1. 小游戏(贪心)

题干&#xff1a; 谷同学很喜欢玩计算机游戏&#xff0c;特别是战略游戏&#xff0c;但是有时他不能尽快找到解所以常常感到很沮丧。现在面临如下问题&#xff1a;他必须在一个中世纪的城堡里设防&#xff0c;城堡里的道路形成一棵无向树。要在结点上安排最少的士兵使得他们可以…...

记录 | c++打印变量类型

c打印变量类型: 使用 typeid(变量名).name() int main(){std::cout << "type of ss : " << typeid(ss).name() << std::endl; }...

nodejs_vue+vscode美容理发店会员管理系统un1dm

按照设计开发一个系统的常用流程来描述系统&#xff0c;可以把系统分成分析阶段&#xff0c;设计阶段&#xff0c;实现阶段&#xff0c;测试阶段。所以在编写系统的说明文档时&#xff0c;根据系统所处的阶段来描述系统的内容。 绪论&#xff1a;这是对选题的背景&#xff0c;意…...

C语言 操作符详解

C语言学习 目录 文章目录 前言 一、算术操作符 二、移位操作符 2.1 左移操作符 2.2 右移操作符 三、位操作符 3.1 按位与操作符 & 3.2 按位或操作符 | 3.3 按位异或操作符 ^ 四、赋值操作符 五、单目操作符 5.1 逻辑反操作符&#xff01; 5.2 正值、负值-操作符 5.3 取地址…...

成为AI产品经理——回归模型评估(MSE、RMSE、MAE、R方)

分类问题的评估是看实际类别和预测类别是否一致&#xff0c;它的评估指标主要有混淆矩阵、AUC、KS。回归问题的评估是看实际值和预测值是否一致&#xff0c;它的评估指标包括MAE、MSE、RMSE、R方。 如果我们预测第二天某支股票的价格&#xff0c;给一个模型 y1.5x&#xff0c;…...

【华南理工大学支持 | IEEE出版 | 往届会议论文完成EIScopus双检索 | 云计算、通信工程、图像处理等相关主题均可投稿】第三届云计算与通信工程国际学术会议(CCCE 2026)

第三届云计算与通信工程国际学术会议(CCCE 2026) 2026 3rd International Conference on Cloud Computing and Communication Engineering 2026年06月12-14日 &#xff0c; 中国深圳 征稿主题广&#xff1a;云计算|通信工程|图像处理等相关主题 权威收录&#xff1a;EI…...

告别枯燥理论:用51单片机和DAC0832做个迷你音乐合成器,汇编语言实现《小星星》

用51单片机和DAC0832打造迷你音乐合成器&#xff1a;汇编语言实现《小星星》全解析 在嵌入式系统学习的道路上&#xff0c;很多初学者都会遇到一个共同的问题&#xff1a;如何将枯燥的理论知识转化为有趣的实际应用&#xff1f;今天&#xff0c;我们就来打破常规&#xff0c;用…...

专业术语统计报告_园区综合能源系统多时间尺度协同优化运行方法研究

专业术语统计报告_园区综合能源系统多时间尺度协同优化运行方法研究 一、概要简析 【概要分析】 本文档《园区综合能源系统多时间尺度协同优化运行方法研究》超用心地围绕研究主题展开了系统性探讨哦😜!文档总字符数足足有158527,其中中文字符53671个,英文字词12011个,…...

产品竞争策略方法论:构建“差异化 + 结构化 + 系统化”的竞争优势

目录 一、问题与背景 二、本文将系统讲解 三、产品竞争的本质与底层逻辑 3.1 竞争的本质 3.2 竞争的三层结构(必须理解) 3.3 IoT竞争的特殊性 四、IoT产品竞争结构模型(核心框架) 4.1 五层竞争模型(核心体系) 4.2 竞争演进路径 五、五大竞争策略模型(核心方法…...

为OpenClaw智能体工作流配置Taotoken作为核心模型提供商

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为OpenClaw智能体工作流配置Taotoken作为核心模型提供商 OpenClaw是一个流行的智能体开发框架&#xff0c;它允许开发者构建和编排…...

简化环境配置:OpenClaw v2.7.1 部署与实操教学(新手适用)

&#x1f680; Windows 极速部署 OpenClaw v2.7.1 教程&#xff5c;5 分钟搭建本地 AI 智能体 在开源 AI 智能体快速普及的当下&#xff0c;OpenClaw&#xff08;小龙虾&#xff09;凭借本地运行、零代码操控、全场景自动化能力&#xff0c;成为办公与技术人群的效率工具&…...

在Docker环境中安装Hadoop cluster 实验报告三

在Docker环境中安装Hadoop cluster 实验报告三 1个namenode, 3个datanodes 班 级&#xff1a;物联网2303 学 号&#xff1a;231040700302 姓 名&#xff1a;杜子健 (30%) 安装过程 ContainersHadoop 1.1 Containers 创建与配置 &#xff08;1&#xff09;拉取稳定镜像…...

百度网盘Mac版加速插件:突破下载限制的实用方案

百度网盘Mac版加速插件&#xff1a;突破下载限制的实用方案 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 对于经常使用百度网盘的Mac用户来说&#x…...

macOS 上 GNS3 快速部署与跨 VLAN 通信实战

1. macOS 下 GNS3 的快速安装指南 第一次接触 GNS3 是在准备 CCNP 认证的时候&#xff0c;当时为了省下买真机的钱&#xff0c;在 MacBook Pro 上折腾了好几天。现在回想起来&#xff0c;如果当时有人能给我一份详细的安装指南&#xff0c;至少能少走一半弯路。GNS3 作为网络工…...

大模型令牌管理工具tokscale:统一计数与成本估算的插件化实践

1. 项目概述&#xff1a;一个面向现代开发者的轻量级令牌管理工具 最近在折腾一些需要处理大量文本数据的项目&#xff0c;比如自动化文档摘要、代码生成或者API调用&#xff0c;一个绕不开的问题就是“令牌”&#xff08;Token&#xff09;的管理。无论是使用OpenAI的GPT系列模…...