力扣787.K 站中轉內最便宜的航班
有 n 個城市通過 m 個航班連線。每個航班都從城市 u 開始,以價格 w 抵達 v。
現在給定所有的城市和航班,以及出發城市 src 和目的地 dst,你的任務是找到從 src 到 dst 最多經過 k 站中轉的最便宜的價格。 如果沒有這樣的路線,則輸出 -1。
#define MIN(x, y) ((x) < (y)) ? (x) : (y)
int findCheapestPrice(int n, int** flights, int flightsSize, int* flightsColSize, int src, int dst, int K)
{
if(n==2)
{
if(flights[0][0]==src)
{
return flights[0][2];
}
else
{
return -1;
}
}
int dp[n*(n-1)/2][K+2];
int i,j,k,min=INT_MAX;
for(i=0;i<n*(n-1)/2;i++)
{
for(j=0;j<=K+1;j++)
{
dp[i][j]=INT_MAX;
}
}
for(i=0;i<=K+1;i++)
{
dp[src][i]=0;
}
for(k=1;k<=K+1;k++)
{
for(j=0;j<flightsSize;j++)
{
if(dp[flights[j][0]][k-1]!=INT_MAX)
{
dp[flights[j][1]][k]=MIN(dp[flights[j][1]][k],dp[flights[j][0]][k-1]+flights [j][2]);
}
}
}
for(k=1;k<=K+1;k++)
{
if(min>dp[dst][k])
{
min = dp[dst][k];
}
}
if(min==INT_MAX)
{
min=-1;
}
return min;
}
相關文章
- 力扣最長公共字首力扣
- 力扣之反轉字串中的單詞 III力扣字串
- 教你如何玩轉力扣力扣
- 力扣-48 旋轉影像力扣
- 力扣 14. 最長公共字首力扣
- leetcode力扣 300. 最長遞增子序列LeetCode力扣
- 力扣#94 樹的中序遍歷力扣
- LeetCode 力扣 羅馬數字轉整數LeetCode力扣
- 力扣---2020.7.30力扣
- 力扣---2020.9.27力扣
- 力扣---2020.9.29力扣
- 力扣---2020.9.28力扣
- 力扣---2020.9.3力扣
- 力扣---2020.9.4力扣
- 【每日一題】力扣1046.最後一塊石頭的重量每日一題力扣
- 力扣·33. 搜尋旋轉排序陣列力扣排序陣列
- 程式設計師如何玩轉力扣刷題?程式設計師力扣
- 最便宜的雲伺服器伺服器
- 力扣2713 2024.6.19力扣
- 力扣2589 5.16力扣
- 力扣1542 2024.5.22力扣
- 力扣題解力扣
- 力扣(LeetCode)543力扣LeetCode
- 力扣(LeetCode)934力扣LeetCode
- 力扣(LeetCode)103力扣LeetCode
- 力扣(LeetCode)513力扣LeetCode
- 力扣(LeetCode)389力扣LeetCode
- 力扣(LeetCode)796力扣LeetCode
- 力扣(LeetCode)863力扣LeetCode
- 力扣(LeetCode)310力扣LeetCode
- 力扣(LeetCode)130力扣LeetCode
- 力扣(LeetCode)965力扣LeetCode
- 力扣-81. 搜尋旋轉排序陣列 II力扣排序陣列
- 力扣之僅僅反轉字母(雙指標方式)力扣指標
- OAG:航班中轉時間增加全球Top 50機場國際航班中轉旅客將減少7000萬人次以上
- 力扣-231. 2 的冪力扣
- 力扣之有效的迴文力扣
- 力扣社群開通力扣