当前位置:网站首页>leetcode:332. 重新安排行程
leetcode:332. 重新安排行程
2022-08-09 22:01:00 【OceanStar的学习笔记】
题目来源
题目描述



class Solution {
public:
vector<string> findItinerary(vector<vector<string>>& tickets) {
}
};
题目解析
分析数据量
数据量比较少,那么可能是暴力

from和to均是长度为3的大写英文字母组成的字符串

题意

给你一沓机票,用它去飞(遍历)图中的城市(节点),机票要用光(遍历完所有的边),返回出访问城市的路径,且机票不能重复用(遍历过的边要拆掉)。
题意说,用完机票所走的路径一定存在,找出一条即可。没找到用完机票的路径就是:你困在一个城市,手里有不合适的机票,用不出去。对应到图就是,到了一个点,没有邻接点能访问,但你还有边没遍历。
DFS
- 先构建邻接表,以便能知道可以飞到哪些城市
- 然后从JTK开始,尝试所有可能的选择,根据当前的选择,往下递归,尝试找出第一个用完机票的路径,如果找不出来,返回false,否则,返回true。
- 访问过的边要删掉。比如,北京飞广州,到了广州,北京的邻居list中删掉广州。
- 为什么要返回真假,因为要用它判断要不要提前回溯,在该分支走不下去,就要离开。
- 我们选择飞入的城市,如果困住了,就是飞错了,要回溯,将北京的邻居list中删除的广州恢复回来,不飞广州了,飞别的试试,离开当前分支,切入别的分支,继续探索路径。
类似题目
- leetcode:207. 是否能完成所有课程的学习 Course Schedule ,图中顶点的遍历,判断是否有环
- leetcode:210. 课程表(学完所有课程的顺序) II,图中顶点的遍历,生成一个遍历顺序
- leetcode:332. 重新安排行程 图中边的遍历,生成字典序最小的遍历顺序
边栏推荐
- 基于ABP的AppUser对象扩展
- MySQL——JDBC
- xctf攻防世界 Web高手进阶区 shrine
- 肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!
- Xiaohei leetcode's refreshing rainy day trip, just finished eating Yufei Beef Noodles, Mala Tang and Beer: 112. Path Sum
- 6 rules to sanitize your code
- The kvm virtual machine cannot be started, NOT available, and the PV is larger than the partition
- B. Neighbor Grid
- Deceptive Dice
- This article lets you quickly understand implicit type conversion [integral promotion]!
猜你喜欢

Flask入门学习教程

SQLi-LABS Page-2 (Adv Injections)

关于ETL的两种架构(ETL架构和ELT架构)

leetcode brush questions diary Calculate the number of elements on the right that is less than the current element

反射机制篇

Activiti7审批流

力扣 1413. 逐步求和得到正数的最小值

AI+Medical: Using Neural Networks for Medical Image Recognition and Analysis

2022 首期线下 Workshop!面向应用开发者们的数据应用体验日来了 | TiDB Workshop Day
![[Implementation of the interface for adding, deleting, checking, and modifying a double-linked list]](/img/49/ebedcd4d27aa608360ac17e504f36d.png)
[Implementation of the interface for adding, deleting, checking, and modifying a double-linked list]
随机推荐
肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富,建议收藏+三连好评!
R语言patchwork包将多个可视化结果组合起来、使用plot_annotation函数以及tag_level参数将组合图用大写字母进行顺序编码、为组合图的标签添加自定义前缀信息
Leetcode.25 K个一组翻转链表(模拟/递归)
聊天尬死名场面,你遇到过吗?教你一键获取斗图表情包,晋升聊天达人
“稚晖君”为2022昇腾AI创新大赛打call&nbsp;期待广大开发者加入
js十五道面试题(含答案)
Bean life cycle
Basic JSON usage
Flask入门学习教程
一文让你快速了解隐式类型转换【整型提升】!
Cesium渐变色3dtiles白模(视频)
JS解混淆-AST还原案例
开发者必备:一文快速熟记【数据库系统】和【软件开发模型】常用知识点
C. Mere Array
Easyui 表单验证「建议收藏」
力扣 1413. 逐步求和得到正数的最小值
为什么这么多人都想当产品经理?
【GORM】模型关系-HasMany关系
leetcode brush questions diary Calculate the number of elements on the right that is less than the current element
D. Binary String To Subsequences