leetcode743
class Solution {
public:
int networkDelayTime(vector<vector<int>>& times, int N, int K) {
vector<vector<int> > graph(N + , vector<int>(N + , ));
vector<int> cost(N + );
vector<bool> visited(N + , false);
for (int i = ; i < times.size(); ++i) { graph[times[i][]][times[i][]] = times[i][]; }
for (int i = ; i <= N; ++i) { cost[i] = graph[K][i]; }
cost[K] = ;
visited[K] = true;
for (int i = ; i <= N; ++i) {
int minNode = findMinNode(cost, visited);
if (minNode == ) { break; }
for (int j = ; j <= N; ++j) {
if (!visited[j] && cost[j] > cost[minNode] + graph[minNode][j]) {
cost[j] = cost[minNode] + graph[minNode][j];
}
}
visited[minNode] = true;
}
return calSum(cost);
}
int findMinNode(vector<int>& cost, vector<bool>& visited) {
int minIndex = , minV = ;
for (int i = ; i < cost.size(); ++i) {
if (!visited[i] && minV > cost[i]) {
minIndex = i;
minV = cost[i];
}
}
return minIndex;
}
int calSum(vector<int>& cost) {
int sum = ;
for (int i = ; i < cost.size(); ++i) {
if (cost[i] == ) { return -; }
if (sum < cost[i]) { sum = cost[i]; }
}
return sum;
}
};
leetcode743的更多相关文章
- [Swift]LeetCode743. 网络延迟时间 | Network Delay Time
There are N network nodes, labelled 1 to N. Given times, a list of travel times as directededges tim ...
- leetcode743 Network Delay Time
""" here are N network nodes, labelled 1 to N. Given times, a list of travel times as ...
随机推荐
- CodeIgniter 安装指导
CodeIgniter 安装分为四个步骤: 解压缩安装包. 把 CodeIgniter 文件夹和里面的文件上传到你的服务器.通常 index.php 在根目录. 用任何文本编辑器打开 applicat ...
- 标 题: Re: 总感觉IT没我大山东啥事?
发信人: liuzhlai (liuzhlai), 信区: ITExpress 标 题: Re: 总感觉IT没我大山东啥事? 发信站: 水木社区 (Sat Aug 22 15:51:50 2015) ...
- 【转】每天一个linux命令目录
原文网址:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列 ...
- yarn 制作 npm 包
yarn publish yarn info [package_name]
- Angularjs 事件指令
1. 点击事件 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...
- hadoop最新版本介绍之dkhadoop版本选择
Hadoop对于从事互联网工作的朋友来说已经非常熟悉了,相信在我们身边有很多人正在转行从事hadoop开发的工作,理所当然也会有很多hadoop入门新手.Hadoop开发太过底层,技术难度远比我们想象 ...
- 使用Angular提交表单
使用Angular提交表单 我们准备在之前使用的<script>标签中设置我们的Angular应用.所以删除里面的内容,我们就可以开始了. 设置一个Angular应用 步骤为: 1. 加载 ...
- R(6): 数据处理包dplyr
dplyr包是Hadley Wickham的新作,主要用于数据清洗和整理,该包专注dataframe数据格式,从而大幅提高了数据处理速度,并且提供了与其它数据库的接口,本节学习dplyr包函数基本用法 ...
- 从云端到边缘 AI推动FPGA应用拓展
近日,全球最大的FPGA厂商赛灵思宣布收购深鉴科技的消息,引发人工智能芯片行业热议,这也是首起中国AI芯片公司被收购的案例.值得注意的是,收购深鉴科技的赛灵思在2018年下半年重点发展方面是汽车自动驾 ...
- BASIC-9_蓝桥杯_特殊回文数
示例代码: #include <stdio.h> int main(void){ int n = 0 ; scanf("%d",&n); int i = 0 ; ...