news 2026/4/15 22:42:57

leetcode 743. Network Delay Time 网络延迟时间

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 743. Network Delay Time 网络延迟时间

Problem: 743. Network Delay Time 网络延迟时间

解题过程

堆优化迪杰特斯拉版本,Dijkstra方案,找到k到其他每个node的最短时间,然后求出所有node的最大时间,最大值(每个node的最小时间)

深度优先或者广度优先都可以做,但是环太多了

Code

using pr = pair<int, int>; class Solution { public: // int mx = INT_MIN; int dis[101], start, nn; unordered_map<int, int> ump; void dfs(vector<vector<pair<int, int>>>& tr, int k, int cnt, int pre) { // mx = max(mx, cnt); // status[k] = true; dis[k] = min(dis[k], cnt); int key = (k * 10000) + pre; if( ump.find(key) != ump.end() && ump[key] >= 300*nn) { return; } ump[key]++; if(k==4) { int ww = 0; } for(int i = 0; i < tr[k].size(); i++) { // if(status[tr[k][i].first]==false) { if(tr[k][i].first == start) continue; dfs(tr, tr[k][i].first, cnt + tr[k][i].second, k); // } } } int networkDelayTime(vector<vector<int>>& times, int n, int k) { vector<vector<pair<int, int>>> tr(n+1); nn = n; for(int i = 0; i < times.size(); i++) { tr[times[i][0]].push_back({times[i][1], times[i][2]}); } // for(int i = 1; i <= n; i++) { // sort(tr[i].begin(), tr[i].end(), [](pair<int, int>& a, pair<int, int>&c) { // return a.second < c.second; // }); // } vector<int> disdis(n+1, INT_MAX); vector<bool> status(n+1, false); disdis[k] = 0; priority_queue<pr, vector<pr>, greater<pr>> pq; pq.push({0, k}); int dest, distance, next, nextD; while(!pq.empty()) { pr pai = pq.top(); distance = pai.first; dest = pai.second; pq.pop(); if(status[dest]) continue; status[dest] = true; for(int i = 0; i < tr[dest].size(); i++) { next = tr[dest][i].first; nextD = tr[dest][i].second; if(status[next]==false && disdis[next] > distance + nextD) { disdis[next] = distance + nextD; pq.push({disdis[next], next}); } } } // start = k; // fill(dis, dis+101, INT_MAX); // dfs(tr, k, 0, -1); int mx = INT_MIN; for(int i = 1; i <= n; i++) { mx = max(disdis[i], mx); } if(mx==INT_MAX) return -1; return mx; // vector<bool> status(n+1, false); // queue<pair<int,int>> qe; // qe.push({k, 0}); // int mimi = INT_MAX; // while(!qe.empty()) { // int sz = qe.size(); // int mx = INT_MIN; // for(int i = 0; i < sz; i++) { // int ll = qe.front().first; // int d = qe.front().second; // mx = max(d, mx); // status[ll] = true; // for(int j = 0; j < tr[ll].size(); j++) { // // if(status[tr[ll][j].first]==false) { // qe.push({tr[ll][j].first, tr[ll][j].second + d}); // // } // } // qe.pop(); // } // bool ret = true; // for(int i = 1; i < status.size(); i++) { // if(status[i]==false) { // ret = false; // break; // } // } // if(ret) { // mimi = min(mimi, mx); // } // } // for(int i = 1; i < status.size(); i++) { // if(status[i]==false) return -1; // } // return mimi; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 16:32:20

IDEA插件下载慢?2步提速起飞

最近更新了IDEA为最新版&#xff0c;虽然保存了&#xff0c;但还是一部分插件失效了&#xff0c;需要重新下载&#xff0c;下载插件时不是安装慢就是超时&#xff0c;总之就是安装不上&#xff0c;还是记录一下&#xff0c;说不定以后哪天还能用到&#xff0c; 1.查找 国内插件…

作者头像 李华
网站建设 2026/4/15 10:21:28

学Simulink——移动机器人基础驱动场景实例:基于Simulink的PMSM轮毂电机 id​=0 矢量控制(FOC)入门仿真

目录 手把手教你学Simulink——移动机器人基础驱动场景实例:基于Simulink的PMSM轮毂电机 id​=0 矢量控制(FOC)入门仿真 一、引言:为什么移动机器人要用 FOC?——从“能转”到“精准控转矩” 二、FOC 原理简述:让交流电机像直流电机一样控制 FOC 控制流程(五步法):…

作者头像 李华
网站建设 2026/4/4 10:53:13

基于Simulink的PMSM轮毂电机Pure Pursuit路径跟踪控制仿真

目录 手把手教你学Simulink——移动机器人导航场景实例:基于Simulink的PMSM轮毂电机Pure Pursuit路径跟踪控制仿真 一、引言:从“能走”到“走准”——路径跟踪是自主导航的核心 二、系统架构总览 三、Pure Pursuit 算法原理(简明版) 四、应用场景:差速驱动AGV路径跟踪…

作者头像 李华
网站建设 2026/4/15 19:58:13

5个promptfoo实战技巧:告别手动测试的黑暗时代

还在为提示词测试而头疼吗&#xff1f;每次修改提示词都要手动运行几十个测试用例&#xff0c;结果还不尽相同&#xff1f;让我告诉你一个秘密&#xff1a;promptfoo自动化测试框架能帮你解决这些问题。今天&#xff0c;我将分享5个实用技巧&#xff0c;让你从手动测试的苦海中…

作者头像 李华
网站建设 2026/4/10 18:45:53

Nacos 2.4.2命名空间管理终极解决方案:实战指南

Nacos 2.4.2命名空间管理终极解决方案&#xff1a;实战指南 【免费下载链接】nacos Nacos是由阿里巴巴开源的服务治理中间件&#xff0c;集成了动态服务发现、配置管理和服务元数据管理功能&#xff0c;广泛应用于微服务架构中&#xff0c;简化服务治理过程。 项目地址: http…

作者头像 李华
网站建设 2026/3/27 1:09:55

CubiFS分布式存储系统全面贡献指南:从入门到核心开发

CubiFS分布式存储系统全面贡献指南&#xff1a;从入门到核心开发 【免费下载链接】cubefs CubiFS 是一个开源的分布式文件系统&#xff0c;用于数据存储和管理&#xff0c;支持多种数据存储模型和云原生环境。 * 分布式文件系统、数据存储和管理 * 有什么特点&#xff1a;支持多…

作者头像 李华