Python | Leetcode Python题解之第332题重新安排行程

题目:

题解:

python 复制代码
class Solution:
    def findItinerary(self, tickets: List[List[str]]) -> List[str]:
        def dfs(curr: str):
            while vec[curr]:
                tmp = heapq.heappop(vec[curr])
                dfs(tmp)
            stack.append(curr)

        vec = collections.defaultdict(list)
        for depart, arrive in tickets:
            vec[depart].append(arrive)
        for key in vec:
            heapq.heapify(vec[key])
        
        stack = list()
        dfs("JFK")
        return stack[::-1]
相关推荐
Jeremy爱编码7 分钟前
leetcode课程表
算法·leetcode·职场和发展
清水白石00810 分钟前
《深入 Python 上下文管理器:contextlib.contextmanager 与类实现方式的底层差异全景解析》
开发语言·python
程序员佳佳12 分钟前
GPT-4时代终结?GPT-5.2与Banana Pro实测数据公开,普通开发者如何接住这泼天富贵
开发语言·python·gpt·chatgpt·重构·api·midjourney
努力学算法的蒟蒻26 分钟前
day46(12.27)——leetcode面试经典150
算法·leetcode·面试
Blossom.11842 分钟前
多模态大模型LoRA微调实战:从零构建企业级图文检索系统
人工智能·python·深度学习·学习·react.js·django·transformer
小钻风33661 小时前
软件测试: 从入门到实践 (接口测试)
软件测试·python
小鸡吃米…1 小时前
带Python的人工智能——计算机视觉
人工智能·python·计算机视觉
玄同7652 小时前
Python 数据类型:LLM 语料与 API 参数的底层处理逻辑
开发语言·人工智能·python·自然语言处理·llm·nlp·知识图谱
databook2 小时前
数据分析师的“水晶球”:时间序列分析
python·数据挖掘·数据分析
元亓亓亓2 小时前
LeetCode热题100--152. 乘积最大子数组--中等
算法·leetcode·职场和发展