給定乙個機票的字串二維陣列 [from, to],子陣列中的兩個成員分別表示飛機出發和降落的機場地點,對該行程進行重新規劃排序。所有這些機票都屬於乙個從jfk(甘迺迪國際機場)出發的先生,所以該行程必須從 jfk 出發。
說明:如果存在多種有效的行程,你可以按字元自然排序返回最小的行程組合。例如,行程 [「jfk」, 「lga」] 與 [「jfk」,「lgb」] 相比就更小,排序更靠前
所有的機場都用三個大寫字母表示(機場**)。
假定所有機票至少存在一種合理的行程。
示例 1:
輸入: [["muc", "lhr"], ["jfk", "muc"], ["sfo", "sjc"], ["lhr", "sfo"]]
輸出: ["jfk", "muc", "lhr", "sfo", "sjc"]
示例 2:輸入: [["jfk","sfo"],["jfk","atl"],["sfo","atl"],["atl","jfk"],["atl","sfo"]]
輸出: ["jfk","atl","jfk","sfo","atl","sfo"]
解釋: 另一種有效的行程是 ["jfk","sfo","atl","jfk","atl","sfo"]。但是它自然排序更大更靠後。
dfs深搜回溯
建立鄰接表,同時記錄那種航班已經使用過了,以避免重複使用。詳細過程見**
vector ans;
unordered_map> ticket;
//鄰接表
unordered_mapint>> use;
//記錄那個航班使用過
bool
dfs(string& now,
int begin,
int n)
else}}
return
false;}
vector
finditinerary
(vector>
& tickets)
string beginc =
"jfk"
; ans.
push_back
(beginc)
;//起始位置
dfs(beginc,
0,n)
;return ans;
}
Leetcode 332 重新安排行程
給定乙個機票的字串二維陣列 from,to 子陣列中的兩個成員分別表示飛機出發和降落的機場地點,對該行程進行重新規劃排序。所有這些機票都屬於乙個從 jfk 甘迺迪國際機場 出發的先生,所以該行程必須從 jfk 出發。說明 如果存在多種有效的行程,你可以按字元自然排序返回最小的行程組合。例如,行程 j...
leetcode 332 重新安排行程
332.重新安排行程 給定乙個機票的字串二維陣列 from,to 子陣列中的兩個成員分別表示飛機出發和降落的機場地點,對該行程進行重新規劃排序。所有這些機票都屬於乙個從 jfk 甘迺迪國際機場 出發的先生,所以該行程必須從 jfk 開始。說明 如果存在多種有效的行程,你可以按字元自然排序返回最小的行...
LeetCode 332 重新安排行程
題意 給定乙個機票的字串二維陣列 from,to 子陣列中的兩個成員分別表示飛機出發和降落的機場地點,對該行程進行重新規劃排序。所有這些機票都屬於乙個從 jfk 甘迺迪國際機場 出發的先生,所以該行程必須從 jfk 開始。說明 如果存在多種有效的行程,你可以按字元自然排序返回最小的行程組合。例如,行...