news 2026/4/23 2:01:12

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/23 2:01:10

二插堆的基本原理以及简单实现

文章目录堆&#xff08;Heap&#xff09;一、堆的基本概念1. 定义2. 特点二、二叉堆的特点二、堆的数组表示堆的相关操作创建堆的类型上浮&#xff08;Heapify Up&#xff09;下沉&#xff08;Heapify Down&#xff09;插入操作删除堆顶元素获取堆顶元素完整代码堆&#xff08;…

作者头像 李华
网站建设 2026/4/22 1:22:56

顶尖学术写作工具盘点:8款平台助你提升论文质量与规范性

工具核心特点速览 工具名称 核心优势 适用场景 数据支撑 aibiye 全流程覆盖降重优化 从开题到答辩的一站式需求 支持20万字长文逻辑连贯 aicheck 院校规范适配模板化输出 国内本硕博论文框架搭建 覆盖90%高校格式要求 秒篇 3分钟文献综述生成 紧急补文献章节 知…

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

力扣题解

目录 410.分割数组的最大值 4.寻找两个正序数组的中位数 51.N皇后 410.分割数组的最大值 这个题可以运用二分答案的算法来解题。定义一个左指针和一个右指针&#xff0c;令左指针等于数组的最大值&#xff0c;令右指针等于数组所有数之和。即最终的结果一定在他们之间。 lo…

作者头像 李华
网站建设 2026/4/22 17:56:17

毕设项目 基于大数据的K-means广告效果分析

基于大数据的K-means广告效果分析 项目运行效果&#xff1a; 毕业设计 基于大数据的K-means广告效果分析&#x1f9ff; 项目分享:见文末! 一、分析背景和目的 在大数据时代的背景下&#xff0c;广告主可以购买媒介变成直接购买用户&#xff0c;广告的精准投放对广告主、服务…

作者头像 李华
网站建设 2026/4/21 4:38:54

【计算机毕设选题推荐】基于Hadoop+Django的股市行情数据可视化分析平台 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机毕设指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡有什么问题可以…

作者头像 李华
网站建设 2026/4/16 13:39:06

Unity学习笔记(十六)GUI总述

什么是GUI是即时模式游戏用户交互界面&#xff0c;在Unity中一般简称为GUI&#xff0c;是一个代码驱动的UI系统。GUI的主要作用1 作为程序员的调试工具&#xff0c;创建游戏内调试工具。2 为脚本组件创建自定义检视面板&#xff0c;创建新的编辑器窗口和工具扩展unity本身&…

作者头像 李华