关注
第二题(递增二叉树): #coding=utf-8
import sys
class Node(object):
def __init__(self, x, left = None, right = None):
self.val = x
self.left = left
self.right = right
def func(root):
if not root:
return "NO"
cur_level_sum, cur_level = -1, [root]
while cur_level:
cur_level_val = []
next_level = []
for node in cur_level:
cur_level_val.append(node.val)
if node.left:
next_level.append(node.left)
if node.right:
next_level.append(node.right)
if cur_level_sum >= sum(cur_level_val):
return "NO"
cur_level_sum = sum(cur_level_val)
cur_level = next_level
return "YES"
if __name__ == "__main__":
T = int(sys.stdin.readline().strip())
for _ in range(T):
N = int(sys.stdin.readline().strip())
id_node_dict = {}
# 构建哈希表 key: 结点编号 value:结点
for i in range(N):
val, left, right = list(map(int, sys.stdin.readline().strip().split()))
id_node_dict[i] = Node(val, left, right)
# 确定根节点:
sub_tree_id = []
for id, node in id_node_dict.items():
if node.left != -1 and node.left not in sub_tree_id:
sub_tree_id.append(node.left)
if node.right != -1 and node.right not in sub_tree_id:
sub_tree_id.append(node.right)
root_id = sum(range(N)) - sum(sub_tree_id)
# 构建二叉树:
for id, node in id_node_dict.items():
if node.left == -1:
node.left = None
else:
node.left = id_node_dict[node.left]
if node.right == -1:
node.right = None
else:
node.right = id_node_dict[node.right]
print(func(id_node_dict[root_id]))
查看原帖
点赞 评论
相关推荐
牛客28967172...:阿里是真卡985学历,但腾讯和字节是对双非最友好的大厂,只要你技术到位,学院本都能给你捞进来 点赞 评论 收藏
分享
2025-12-09 14:12
新乡学院 嵌入式软件开发
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的 点赞 评论 收藏
分享
查看9道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司在招寒假实习? #
13910次浏览 171人参与
# 卷__卷不过你们,只能卷__了 #
10912次浏览 234人参与
# MiniMax求职进展汇总 #
660次浏览 23人参与
# 26年哪些行业会变好/更差 #
17774次浏览 235人参与
# 写论文的崩溃时刻 #
5761次浏览 133人参与
# 去年的flag与今年的小目标 #
9233次浏览 184人参与
# 机械人,你最希望上岸的公司是? #
198006次浏览 1916人参与
# 现在还是0offer,延毕还是备考 #
1256083次浏览 7922人参与
# 有深度的简历长什么样? #
15781次浏览 327人参与
# 你不能接受的企业文化有哪些 #
11043次浏览 157人参与
# 租房前辈的忠告 #
350351次浏览 7445人参与
# 入职第一天 #
9618次浏览 202人参与
# 你都用AI做什么 #
6400次浏览 144人参与
# 最难的技术面是哪家公司? #
62948次浏览 949人参与
# 关于春招你都做了哪些准备? #
122107次浏览 706人参与
# 国企vs私企,你更想去? #
305340次浏览 2486人参与
# 你怎么看待AI面试 #
133300次浏览 745人参与
# 央国企投递记录 #
170259次浏览 1639人参与
# 一人分享一道面试手撕题 #
21583次浏览 767人参与
# 机械人还在等华为开奖吗? #
304963次浏览 1553人参与
# 你在职场上见过哪些“水货”同事 #
29109次浏览 162人参与