力扣332. 重新安排行程(JavaScript)
var findItinerary = function(tickets) {let arr=['JFK']let map={} //在空对象中添加属性和属性值:{'起始城市':[到达的城市]}for(const t of tickets){const [from,to]=tif(!map[from]){ //如果对象中没有from属性map[from]=[] //则添加该属性,并赋值为空数组[]}map[from].push(to) //往该属性的数组中添加到达城市}//遍历对象中的属性用 for...in...//对到达城市的列表排序for(const c in map){map[c].sort()}const dd=function(){//机场次数=航班次数+1if(arr.length==tickets.length+1){return true}//如果最后一个城市没有了(map中走过的城市都会被删除,如果删除完了但是不符合上一个判断)//如果最后一个城市没有要到达的地方if(!map[arr[arr.length-1]] || !map[arr[arr.length-1]].length){return false}//遍历最后一个城市中要到达的城市for(let i=0;i<map[arr[arr.length-1]].length;i++){let city=map[arr[arr.length-1]][i]//在map中删除已经走过的航线map[arr[arr.length-1]].splice(i,1)arr.push(city)if(dd()){return true}//回溯arr.pop()map[arr[arr.length-1]].splice(i,0,city)}}dd()return arr
};
力扣332. 重新安排行程(JavaScript)相关推荐
- 代码随想录算法训练营第30天 | 51. N皇后 37.解数独 332.重新安排行程 回溯篇小结
代码随想录系列文章目录 回溯篇 - 棋盘问题 图的dfs 文章目录 代码随想录系列文章目录 51.N皇后 37.解数独 332.重新安排行程 回溯篇小结 51.N皇后 题目链接 这道题的思路是什么样的 ...
- 回溯 | 19 332.重新安排行程(hard)**
本文记录的是刷题过程中的重要概念和笔记.如有侵权,请联系删除. 目录 332.重新安排行程 思路 死循环 记录映射关系 回溯法 c++ 补充:const 总结 332.重新安排行程 力扣题目链接(op ...
- 代码随想录刷题|LeetCode 332.重新安排行程 51. N皇后 37. 解数独
目录 332.重新安排行程 思路 重新安排行程 51. N皇后 思路 N皇后 37. 解数独 思路 解数独 这三道题目都是困难题目,都是根据代码随想录的思路总结书写,慢慢理解,慢慢熟练 ...
- 算法训练day24 | php | 332.重新安排行程 , 51. N皇后 , 37. 解数独 ,总结
一.力扣题332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] = [fromi, toi] 表示飞机出发和降落的机场地点.请你对该行程进行重新规划排序. 所有这些机 ...
- 代码随想录30——回溯:332重新安排行程、51N皇后、37解数独
文章目录 1.332重新安排行程 1.1.题目 1.2.解答 1.2.1.思路 1.2.2.代码 2.51N皇后 2.1.题目 2.2.解答 3.37解数独 3.1.题目 3.2.解答 3.2.1.正 ...
- 「leetcode」332.重新安排行程【回溯算法/深搜】详细图解!
本文 https://github.com/youngyangyang04/leetcode-master 已经收录,里面还有leetcode刷题攻略.各个类型经典题目刷题顺序.思维导图,可以fork ...
- LeetCode刷题流程:回溯算法-13.332. 重新安排行程
332. 重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序.所有这些机票都属于一个从 JFK(肯尼迪国际机 ...
- 代码随想录算法训练营第30天| 332.重新安排行程 、51. N皇后 、 37. 解数独
代码随想录算法训练营第30天| 332.重新安排行程 .51. N皇后 . 37. 解数独 332.重新安排行程 开始想的是将行程进行全排列之后,然后选出一个字典排序最小的.就也是使用的回溯的思路. ...
- 代码随想录算法训练营第三十天| 第七章 回溯算法:332.重新安排行程,51.N皇后,37.解数独(python)
回溯算法总结 332.重新安排行程 讲解链接 class Solution:def __init__(self):self.res = []self.dict = defaultdict(list)d ...
最新文章
- 现代计算机三大科学计算,计算机的三大特点是什么?
- 2018-3-1 算法学习部分
- Core开发组的傲娇造就了今天的以太坊和比特币现金(BCH)
- 项目管理和产品管理绉议
- SDUT_2012省赛热身赛1
- 使用VideoView做个实用的视频播放器
- ntp如何确认与服务器偏差_LED电子时钟显示屏如何实现时间同步统一校时?
- RuntimeError: Can‘t call numpy() on Variable that requires grad. Use var.detach().numpy()
- 滴滴CTO张博:过去的1095天 人工智能发展主要依赖3件事
- python 两个列表相互映射_零基础同学,一看就会的Python字典操作指南
- 台式机黑苹果Mac OS Big Sur 11.3.1安装指引
- win10自动停用打印服务器,win10系统添加打印机总是自动关闭打印服务的技巧介绍...
- 打开计算机任务栏有桌面没,如何解决Win7任务栏不显示打开的窗口的问题
- 卡诺图化简 之 和之积形式 与 积之和形式
- 从苏宁电器到卡巴斯基第17篇:曲折考研路(上)
- 2022-2028年中国农作物行业投资战略分析及发展前景研究报告
- 华为又招了一名天才少年!
- python入门教材 52pj_PJzhang:python基础入门的7个疗程-five
- 12个最佳的免费学习编程的游戏网站
- 涂鸦LZ201-CN开发板学习笔记(一)
热门文章
- php单独输出每个单词,PHP:在特定短语/单词之后搜索文本文件并输出
- 一维转二维_Excel – 一维表和二维表相互转换,只要一个“=”搞定
- mysql 查看某数据库中所有表的行数,information_schema.tables不准确。count(*)拼接准确。
- 使用SQLQuery 在Hibernate中使用sql语句
- 基于JAVA+SpringBoot+Mybatis+MYSQL的社区物业管理系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的企业通用门户网站官网
- 【转】横向扩展与纵向扩展
- JAVA 类加载机制学习笔记
- Python 之 %s字符串、%d整型、%f浮点型
- C++对txt文本进行读写操作