当前位置: 首页 > news >正文

做宣传册参考网站seo网站排名优化工具

做宣传册参考网站,seo网站排名优化工具,java自己做网站,官网应用商店目录 1483. 树节点的第 K 个祖先 题目描述: 实现代码与解析: 倍增 原理思路: 1483. 树节点的第 K 个祖先 题目描述: 给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出&#…

目录

1483. 树节点的第 K 个祖先

题目描述:

实现代码与解析:

倍增

原理思路:


1483. 树节点的第 K 个祖先

题目描述:

        给你一棵树,树上有 n 个节点,按从 0 到 n-1 编号。树以父节点数组的形式给出,其中 parent[i] 是节点 i 的父节点。树的根节点是编号为 0 的节点。

树节点的第 k 个祖先节点是从该节点到根节点路径上的第 k 个节点。

实现 TreeAncestor 类:

  • TreeAncestor(int n, int[] parent) 对树和父数组中的节点数初始化对象。
  • getKthAncestor(int node, int k) 返回节点 node 的第 k 个祖先节点。如果不存在这样的祖先节点,返回 -1 。

示例 1:

输入:
["TreeAncestor","getKthAncestor","getKthAncestor","getKthAncestor"]
[[7,[-1,0,0,1,1,2,2]],[3,1],[5,2],[6,3]]输出:
[null,1,0,-1]解释:
TreeAncestor treeAncestor = new TreeAncestor(7, [-1, 0, 0, 1, 1, 2, 2]);treeAncestor.getKthAncestor(3, 1);  // 返回 1 ,它是 3 的父节点
treeAncestor.getKthAncestor(5, 2);  // 返回 0 ,它是 5 的祖父节点
treeAncestor.getKthAncestor(6, 3);  // 返回 -1 因为不存在满足要求的祖先节点

提示:

  • 1 <= k <= n <= 5 * 104
  • parent[0] == -1 表示编号为 0 的节点是根节点。
  • 对于所有的 0 < i < n ,0 <= parent[i] < n 总成立
  • 0 <= node < n
  • 至多查询 5 * 104 次

实现代码与解析:

倍增

class TreeAncestor {int M = 17;int[][] an;public TreeAncestor(int n, int[] parent) {an = new int[n][M];// 初始化for (int i = 0; i < n; i++) {Arrays.fill(an[i], -1);}for (int i = 0; i < n; i++) {an[i][0] = parent[i];}for (int j = 1; j < M; j++) {for (int i = 0; i < n; i++) {if (an[i][j - 1] != -1) {an[i][j] = an[an[i][j - 1]][j - 1];}}}}public int getKthAncestor(int node, int k) {for (int j = 0; j < M; j++) {if (((k >> j) & 1) != 0) {node = an[node][j];if (node == -1) return -1;}}return node;}
}

原理思路:

        倍增 + dp。

dp数组含义:f[i][j] 表示第 i 个节点的 2^j 的祖先节点。

转移方程:2 ^ j =2^(j - 1) + 2^(j - 1) 也就是f[i][j] = f[ f[ i ][ j - 1 ] ] [ j - 1 ]。

将 k 二进制例如:13 = 1101 = 8 + 4 + 1 = 2^3 + 2^2 + 2^0;

        假设我们要找x的第13个祖节点,可以先向上找到最近的第8个节点(t),在找的 t 的最近的第4个祖宗节点...........直到找到目标节点。

用公式就是:x = f[x][3], x = f[x][2], x = f[x][1];

顺序无所谓,可以8,4,1也可以1, 4, 8。  

http://www.mmbaike.com/news/71213.html

相关文章:

  • 建设银行如何注销网站信息软文推广渠道主要有
  • 绍兴做网站的公司哈尔滨seo服务
  • 武汉海绵城市建设有限公司网站软文案例
  • 上海企业网站制作电话付费推广
  • 徐州网站建设技术托管微信指数是什么意思
  • wordpress 基础建站地推拉新app推广平台
  • 电子商城网站模板宁波seo优化外包公司
  • 梅州市做试块网站网站交换链接的常见形式
  • 怎样做响应式网站百度竞价排名广告定价鲜花
  • 公司转让注意事项seo排名关键词
  • 做影视网站被告怎么办如何开一个自己的网站
  • 东莞网站设计公司有哪些女排联赛排名
  • 适合个人网站的名称公司网络推广网站
  • 黑龙江暴雪预警独立站seo是什么
  • 哪个网站系统做的好电商的推广方式有哪些
  • 个人可以备案企业网站吗郑州网站设计
  • 枣庄网站制作凡科建站平台
  • 网站网络优化新闻软文发稿平台
  • 网站建设怎么插入gif网店运营培训哪里好
  • 潜江做网站的公司有哪些外贸推广平台怎么做
  • 帮别人做网站 开票内容是什么如何引流推广产品
  • 网站建设丿金手指谷哥14招聘网络营销推广人员
  • 哪些做批发的网站比较正规百度平台商家客服
  • 音乐网站开发案例找培训机构的app
  • 抖音代运营赚钱吗上海优化公司选哪个
  • 做网站要备案seo技术大师
  • 智能网站开发北京seo公司哪家好
  • 网站的登录界面是怎么做的网络营销软件下载
  • 58招聘网站官网研究生培训机构排名
  • 网站制作需要哪些软件有哪些口碑营销案例2021