美文网首页
力扣 332 重新安排行程

力扣 332 重新安排行程

作者: zhaojinhui | 来源:发表于2020-11-24 00:54 被阅读0次

题意:给一组机票,重新构建行程

思路:

  1. 用map记录每一个出发的城市和它能到达的城市,并用pq来给到达的城市从小到大排序
  2. DFS,每次获取当前城市能到达的城市
  3. 如果它能到达的城市为空,则把它加入结果
  4. 否则遍历它能到达的城市,并对每一个城市DFS
  5. 把当前城市加入结果
  6. 倒序的结果即为所求

思想:DFS

复杂度:时间O(n),空间O(n)

class Solution {
    public List<String> findItinerary(List<List<String>> tickets) {
        HashMap<String, PriorityQueue<String>> map = new HashMap();
        for(List<String> ticket: tickets) {
            if(map.containsKey(ticket.get(0))) {
                map.get(ticket.get(0)).add(ticket.get(1));
            } else {
                PriorityQueue<String> temp = new PriorityQueue<String>();
                temp.add(ticket.get(1));
                map.put(ticket.get(0), temp);
            }
        }
        List<String> result = new ArrayList();
        build("JFK", map, result);
        Collections.reverse(result);
        return result;    
    }
    
    void build(String from, HashMap<String, PriorityQueue<String>> map, List<String> res) {
        PriorityQueue<String> cur = map.get(from);
        while(cur!= null && !cur.isEmpty()) {
            String nfrom = cur.poll();
            build(nfrom, map, res);
        }
        res.add(from);
    }
}

相关文章

  • 力扣 332 重新安排行程

    题意:给一组机票,重新构建行程 思路: 用map记录每一个出发的城市和它能到达的城市,并用pq来给到达的城市从小到...

  • LeetCode 欧拉回路问题

    332. 重新安排行程 先搜再入栈 753. 破解保险箱

  • 算法:字符串

    Map 332 重新安排行程使用Map统计时写法: 字符串 Api of string.hstrlen: 返回值是...

  • LeetCode332 重新安排行程

    给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进...

  • LeetCode 第332题:重新安排行程

    1、前言 2、思路 本题是求有向图的欧拉路径,严谨地说,一个连通有向图 G 有欧拉路径,指存在一个顶点,从它出发,...

  • 前端算法之哈字典&希表

    一、力扣01两数之和 二、力扣217存在重复元素 三、力扣349两个数组的交集 四、力扣1207独一无二的出现次数...

  • 力扣

    Add and Search Word - Data structure design Design a data...

  • 399. 除法求值(Python)

    题目 难度:★★★★☆类型:图方法:深度优先搜索 力扣链接请移步本题传送门更多力扣中等题的解决方案请移步力扣中等题...

  • 413. 等差数列划分(Python)

    题目 难度:★★☆☆☆类型:数组方法:动态规划 力扣链接请移步本题传送门更多力扣中等题的解决方案请移步力扣中等题目...

  • 416. 分割等和子集(Python)

    题目 难度:★★★☆☆类型:数组方法:动态规划 力扣链接请移步本题传送门更多力扣中等题的解决方案请移步力扣中等题目...

网友评论

      本文标题:力扣 332 重新安排行程

      本文链接:https://www.haomeiwen.com/subject/mqcsiktx.html