LeetCode题解(1483):树节点的第K个祖先(Python)
发布日期:2021-06-29 20:15:21
浏览次数:3
分类:技术文章
本文共 875 字,大约阅读时间需要 2 分钟。
题目:(困难)
标签:树、动态规划
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N l o g N ) O(NlogN) O(NlogN) | O ( N l o g N ) O(NlogN) O(NlogN) | 844ms (88.24%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class TreeAncestor: _POW = 16 # 树的最大深度:50000 < 2^16 def __init__(self, n: int, parent: List[int]): # 初始化状态矩阵 self.dp = [[-1] * self._POW for _ in range(n)] # 构造初始的父节点关系 for i in range(n): self.dp[i][0] = parent[i] # 逐层构造动态规划中的祖先关系 for j in range(1, self._POW): for i in range(n): if self.dp[i][j - 1] != -1: self.dp[i][j] = self.dp[self.dp[i][j - 1]][j - 1] def getKthAncestor(self, node: int, k: int) -> int: for i in range(self._POW - 1, -1, -1): if k & (1 << i): node = self.dp[node][i] if node == -1: break return node
转载地址:https://dataartist.blog.csdn.net/article/details/112465300 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月30日 10时19分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
vue 大致总结一
2019-04-30
python面试总结 python同源策略 跨域问题(一)
2019-04-30
django中HttpResponse render redirect 使用和区别
2019-04-30
MySQL数据库的详细安装步骤
2019-04-30
python 基础 爬虫音乐资源案例
2019-04-30
python基础爬虫 视频的下载
2019-04-30
python中把图片 或者 数据存储到本地 用csv方式储存
2019-04-30
python中csv格式转换为excle格式
2019-04-30
爬取图片下载保存 例子详解 代码与注释
2019-04-30
python 在安装第三方库时候 怎样使用国内镜像源 实现快速下载
2019-04-30
python 爬取龙岭迷窟视频 对于视频格式m3u8 下载多个ts文件 合并成MP4
2019-04-30
python 爬取百度地图api数据
2019-04-30
MySQL 数据库在dos命令下的基本操作
2019-04-30
MySQL 学习文档 和安装步骤
2019-04-30
在Scrapy中怎样把数据储存到Mysql 或者Redis中
2019-04-30
python 在爬虫中怎样把数据添加到excle样式中
2019-04-30
Scrapy框架介绍和简单创建使用
2019-04-30
python 爬虫中selenium 爬取数据 csv储存思路加代码
2019-04-30