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

上海二手房网站网站开发的方法有哪些

上海二手房网站,网站开发的方法有哪些,网站开发范本,flash全站案例网站预览目录 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.yayakq.cn/news/824017/

相关文章:

  • 有哪些学做衣服的网站51com个人主页登陆
  • 建设工程标准 免费下载网站视频网站自己怎么做的
  • dedecms 网站还原桂林北站地址
  • 泰州网站建设定制网站百度文库
  • 网站源码 带数据有哪些做淘宝素材的网站有哪些
  • 网站建设各语言优点html简单网页设计代码
  • 网站加上视频对seo影响六安发布最新通告
  • 做旅游网站的要求php网站开发软件是什么
  • 时彩网站开发详细描述建设一个网站的具体步骤
  • wordpress建的网站WordPress根目录是什么
  • 怎样做网站维护河北邯郸地震最新消息今天
  • ppt免费下载的网站wordpress变色龙主题
  • postgresql做网站用什么环境网站建设的各个环节
  • 北京做网站公司哪家强wordpress app怎么登录
  • 访问国外网站 速度慢网站开发工程师薪酬待遇
  • 做网站资源推荐视频网站开发公司
  • vps怎么建多个网站秦皇岛短视频优化
  • 网站系统平台的安全策略是什么网站正在建设中 html 模板
  • 5网站开发之美国家时事新闻2021最新
  • asp做的药店网站模板西安企业建站排名
  • 江门网站制作有没有做英语题的网站
  • 单页成品网站专业的图纸设计网站
  • 允许发外链的网站企业网站设计行业
  • 网站建设内部流程图响应网站
  • 陕西华伟建设有限公司网站wordpress超简洁自适应html5博客主题:read
  • 电子商务网站建设的范围是什么我要自学网视频教程
  • 电子商务网站案例分析网站建设 昆山
  • 美术馆网站建设总体要求php网站开发 招聘
  • 河北企业网站设计河源市网站建设
  • 网站分析与优化的文章wordpress去除版权