leetcode Reconstruct Itinerary

来源:互联网 发布:阿里云金融云vpc专线 编辑:程序博客网 时间:2024/06/07 16:31

leetcode Reconstruct Itinerary

Given a list of airline tickets represented by pairs of departure and arrival airports [from, to], reconstruct the itinerary in order. All of the tickets belong to a man who departs from JFK. Thus, the itinerary must begin with JFK.

Note:

  1. If there are multiple valid itineraries, you should return the itinerary that has the smallest lexical order when read as a single string. For example, the itinerary ["JFK", "LGA"] has a smaller lexical order than ["JFK", "LGB"].
  2. All airports are represented by three capital letters (IATA code).
  3. You may assume all tickets may form at least one valid itinerary.

Example 1:
tickets = [["MUC", "LHR"], ["JFK", "MUC"], ["SFO", "SJC"], ["LHR", "SFO"]]
Return ["JFK", "MUC", "LHR", "SFO", "SJC"].

Example 2:
tickets = [["JFK","SFO"],["JFK","ATL"],["SFO","ATL"],["ATL","JFK"],["ATL","SFO"]]
Return ["JFK","ATL","JFK","SFO","ATL","SFO"].

Another possible reconstruction is ["JFK","SFO","ATL","JFK","ATL","SFO"]. But it is larger in lexical order.


原文地址:https://www.hrwhisper.me/leetcode-reconstruct-itinerary/

更多题解可以查看:https://www.hrwhisper.me/leetcode-algorithm-solution/

class Solution {public:vector<string> findItinerary(vector<pair<string, string>> tickets) {unordered_map<string, map<string,int>> m;for (const auto &p : tickets) {m[p.first][p.second]++;}string start = "JFK";vector<string> ans;ans.push_back(start);dfs(start, ans, tickets.size()+ 1, m);return ans;}bool dfs(const string & cur,vector<string> &ans,const int &n,unordered_map<string, map<string, int>> &m) {if (ans.size() == n) return true;for (auto ticket = m[cur].begin(); ticket != m[cur].end(); ticket++) { //map<string, int>::iteratorif (ticket->second != 0) {ticket->second--;ans.push_back(ticket->first);if (dfs(ticket->first, ans, n, m)) return true;ans.pop_back();ticket->second++;}}return false;}};






出处:细语呢喃 > leetcode Reconstruct Itinerary
原文地址:https://www.hrwhisper.me/leetcode-reconstruct-itinerary/


0 0
原创粉丝点击