1600. 皇位继承顺序
文章目录
- 题目描述
- 解题思路
- 代码实现
- 参考文献
1600. 皇位继承顺序
题目描述
解题思路
1、哈希表保存父子间的关系
2、保存死亡名单
3、前序遍历多叉树获取继承顺序并排除已死亡人员
代码实现
class ThroneInheritance:def __init__(self, kingName: str):self.king = kingNameself.deathed = set()self.nodes = defaultdict(list)def birth(self, parentName: str, childName: str) -> None:self.nodes[parentName].append(childName)# brother = self.nodes.get(parentName, None)# if brother:# brother.append(childName)# else:# brother = []# self.nodes[parentName] = brotherdef death(self, name: str) -> None:self.deathed.add(name)def getInheritanceOrder(self) -> List[str]:self.ans = []def pre_order(name: str) -> None:if name not in self.deathed:self.ans.append(name)if name in self.nodes:for child in self.nodes[name]:pre_order(child)pre_order(self.king)return self.ans# Your ThroneInheritance object will be instantiated and called as such:
# obj = ThroneInheritance(kingName)
# obj.birth(parentName,childName)
# obj.death(name)
# param_3 = obj.getInheritanceOrder()
参考文献
官方题解
1600. 皇位继承顺序相关推荐
- leetcode 1600. 皇位继承顺序(dfs)
题目 一个王国里住着国王.他的孩子们.他的孙子们等等.每一个时间点,这个家庭里有人出生也有人死亡. 这个王国有一个明确规定的皇位继承顺序,第一继承人总是国王自己.我们定义递归函数 Successor( ...
- LeetCode 1600. 皇位继承顺序(图的深度优先遍历)
文章目录 1. 题目 2. 解题 1. 题目 一个王国里住着国王.他的孩子们.他的孙子们等等.每一个时间点,这个家庭里有人出生也有人死亡. 这个王国有一个明确规定的皇位继承顺序,第一继承人总是国王自己 ...
- LeetCode专题
LeetCode解题笔记 前言 复习 树 数组专题 字符串专题 动规专题 哈希表 排序 每日一题 前言 前段时间因为考试等懈怠了,重新开始做题.决定专门开一篇博客迭代记录了,不然文章散乱. 339.除 ...
- leedcode——图数据结构相关2
文章目录 31.省份数量 32.旋转盒子 解法:简单模拟 33.统计封闭岛屿的数目 解法一:DFS深度优先搜索 34.皇位继承顺序 解法:先序遍历:即DFS递归 STL知识 C++:move函数 35 ...
- 清亡之路(8):滦州兵谏:逼清廷就范
在介绍滦州兵谏之前,先介绍一下新军. 将太平天国消灭之后,清朝的军队实际上已经是淮军了.淮军要比八旗.绿营强得多,但由于历史的惯性,淮军渐渐走上了绿营的老路,世袭为兵,军官克扣军饷,打仗毫无纪律.对付 ...
- 数学(持续更新、整理)
两数相加:leetcode-2 Z字形变换:leetcode-6 整数反转:leetcode-7 Pow(x, n):leetcode-50 排列序列:leetcode-60 爬楼梯:leetcode ...
- ICLR 2019论文投稿近1600篇,强化学习最热门
作者 | 非主流 出品 | AI科技大本营(公众号ID:rgznai100) ICLR 2019 的论文提交已经截止.根据官方消息,本届大会共收到近 1600 篇投稿,相比 ICLR 2018 的 9 ...
- 一年暴增1600万程序员!GitHub 2021年度报告发布:中国755万开发者排全球第二
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨新智元 编辑丨极市平台 导读 GitHub年度报告显示,去年全 ...
- 谷歌又发钱了!给全员发1600美元,包括外包和实习生!还宣布将无限期居家办公!...
"别人家的公司"又又又双叒叕来了! 近日谷歌宣布将向全球员工发放额外奖金,包括额外聘请的员工和实习生,每人发1600美元或者等值的一次性现金奖金.这是谷歌在居家办公津贴和福利奖金之 ...
最新文章
- python自动化办公培训排名-盘点使用Python进行自动化办公所需要的知识点
- 【数据挖掘】分类任务简介 ( 分类概念 | 分类和预测 | 分类过程 | 训练集 | 测试集 | 数据预处理 | 有监督学习 )
- Windows MySQL8.0安装出错解决方案(Start Server 失败)
- no instance(s) of type variable(s) X exist so that DataSource<X> conforms to DataStream<Order>
- Repeater嵌套绑定Repeater
- python生成泊松分布随机数_Python Numpy random.poisson() 泊松分布
- 云服务器装teamviewer
- #55 #56 #58 #59 #60 #66
- java方法不写访问权限_【JAVA小白】 问关于访问权限的问题,写接口遇到错误
- Lesson_6 作业_1 ---- 封装学生类
- python3.6.5 安装第三方库
- linux 文件名加粗,konsole与用粗体绘制强调色
- 802.1x 命令说明以及配置方法
- Exchange2013中POP3和IMAP4
- 电子工程师英年早秃?离高阶茂密工程师你只差这套工具!
- Android 内存被异常回收后直接重启APP
- Win10、Win7定时开关机
- 网格设计版式设计_网页设计展示精美的版式
- 一种简单的图形旋转算法
- 全球与中国菱镁矿和水镁石市场现状及未来发展趋势
热门文章
- 关于java二维数组长度(length)的知识
- wsus无法获取计算机,客户端不能从WSUS服务器取得更新故障
- 记淘宝客、多多客api开发系列。一、淘宝联盟淘宝客api对接
- 自考计算机应用与辅助设计,黑龙江自考“计算机应用与辅助设计”考试大纲.doc...
- qnx如何和Android传递数据,QNX操作系统下MDSL数据记录和转存的研究与实现
- 测试人员如何使用浏览器的f12_如何使用 F12 开发人员工具调试网页
- 如何在Windows 10中调整开始菜单的大小
- php如何设置随机数,php怎么设置随机数
- 检索框/输入框测测试用例
- 中医祛斑有面子不留痕