在一个有向无环图中,已知每条边长,求出1到n的最短路径, 返回1到n的最短路径值。如果1无法到n,输出-1-笔试面试资料
这是qklbishe.com第6739 篇笔试面试资料
提供答案分析,通过本文《在一个有向无环图中,已知每条边长,求出1到n的最短路径, 返回1到n的最短路径值。如果1无法到n,输出-1-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。
答案:
在一个有向无环图中,已知每条边长,求出1到n的最短路径,返回1到n的最短路径值。如果1无法到n,输出-1
Java
曾似凡
运行时间:18ms
超过100.00%用Java提交的代码
超过100.00%用Java提交的代码
占用内存:11476KB
超过81.37%用Java提交的代码
//动态规划
public int findShortestPath (int n, int m, int[][] graph) {
int[] dp = new int[n+1];
dp[1] = 0;
for(int i=2; i<n+1; i++){
int min = Integer.MAX_VALUE;
for(int j=0; j<m; j++){
if(graph[j][1] == i && dp[graph[j][0]] != -1){
min = Math.min(min,graph[j][2]+dp[graph[j][0]]);
}
}
dp[i] = min == Integer.MAX_VALUE? -1:min;
}
return dp[n];
}
int[] dp = new int[n+1];
dp[1] = 0;
for(int i=2; i<n+1; i++){
int min = Integer.MAX_VALUE;
for(int j=0; j<m; j++){
if(graph[j][1] == i && dp[graph[j][0]] != -1){
min = Math.min(min,graph[j][2]+dp[graph[j][0]]);
}
}
dp[i] = min == Integer.MAX_VALUE? -1:min;
}
return dp[n];
}
今天 13:50:51 回复(0)
文章部分来自互联网,侵权联系删除
www.qklbishe.com
区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站部分资料来自网络,侵权联系删除!资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 在一个有向无环图中,已知每条边长,求出1到n的最短路径, 返回1到n的最短路径值。如果1无法到n,输出-1-笔试面试资料
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 在一个有向无环图中,已知每条边长,求出1到n的最短路径, 返回1到n的最短路径值。如果1无法到n,输出-1-笔试面试资料