轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
写一个 merge_base
👁️ 2 人浏览
💬 0 人评论
❤️ 添加收藏
补全
merge_base
:先求出两边共同的祖先,再从里面挑出
最近的那个
(即:它不是其余任何一个候选的祖先)。
提交你的答案
请登录后提交答案。
去登录
← merge-base 是哪一次提交
写一个 merge →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
def ancestors(g, c): seen = set() st = [c] while st: x = st.pop() if x in seen: continue seen.add(x) st.extend(g[x]) return seen def merge_base(g, a, b): both = ancestors(g, a) & ancestors(g, b) # TODO: 从 both 里挑出"不是其余候选的祖先"的那个 return None g = {'3f2a91c': [], '7b4e2d0': ['3f2a91c'], 'a1c5f83': ['7b4e2d0'], 'e90d417': ['7b4e2d0'], '5c8b206': ['e90d417']} print(merge_base(g, 'a1c5f83', '5c8b206'))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论