// User function Template for C++
class Solution {
public:
vector<int> bellmanFord(int V, vector<vector<int>>& edges, int src) {
// Code here
vector<int>dis(V,1e8);
dis[src]=0;
for(int i=0;i<V-1;i++){
for(auto e:edges){
int node=e[0];
int nei=e[1];
int we=e[2];
if(dis[node]==1e8)continue;
if(dis[node]+we<dis[nei]){
dis[nei]=dis[node]+we;
}
}
}
vector<int>temp;
for(auto e:edges){
int node=e[0];
int nei=e[1];
int we=e[2];
if(dis[node]==1e8)continue;
if(dis[node]+we<dis[nei]){
dis[nei]=dis[node]+we;
temp.push_back(-1);
return temp;
}
}
return dis;
}
};
No comments:
Post a Comment