当前位置:网站首页>【Day_11 0506】 最近公共祖先
【Day_11 0506】 最近公共祖先
2022-08-01 17:40:00 【安河桥畔】
最近公共祖先
题目来源
牛客网: 最近公共祖先
题目描述
将一棵无穷大满二叉树的结点按根结点一层一层地从左往右编号,根结点编号为1。现给定a,b为两个结点。设计一个算法,返回a、b最近的公共祖先的编号。注意其祖先也可能是结点本身。
示例1
输入
2 3
返回
1
思路分析
编号为整型,整型除法计算会舍去小数位,所以每个节点的父节点编号等于子节点编号除以二,对两个节点中编号较大的节点除2,直到两个节点相同为止。
如图演示编号为15和5找到最近祖先的过程:
代码展示
class LCA {
public:
int getLCA(int a, int b) {
while(a!=b)
{
if(a>b)
{
a/=2;
}
else
{
b/=2;
}
}
return b;
}
};
边栏推荐
猜你喜欢
随机推荐
MySql 怎么查出符合条件的最新的数据行?
Bugku-Misc-贝斯手
金仓数据库KingbaseES安全指南--6.4. RADIUS身份验证
OnePlus 10RT appears on Geekbench, product launch also seems to be approaching
关于LocalDateTime的全局返回时间带“T“的时间格式处理
QPalette palette, frame color fill
opencv语法Mat类型总结
Pytorch|GAN在手写数字集上的复现
统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》
【R语言】线性混合模型进行重复测量设计分析
QT基础功能,信号、槽
TCP million concurrent server optimization parameters
2022年SQL大厂高频实战面试题(详细解析)
Basic image processing in opencv
千万级乘客排队系统重构&压测方案总结篇
B005 – 基于STC8的单片机智能路灯控制系统
存储日报-数据湖架构权威指南(使用 Iceberg 和 MinIO)
指针和解引用
RecSys'22|CARCA: Cross-Attention-Aware Context and Attribute Recommendations
【报错】Uncaught (in promise) TypeError: Cannot read properties of undefined (reading ‘concat‘)