关注
第二题(递增二叉树): #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]))
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
12-01 17:18
门头沟学院 机械结构工程师
牛马人的牛马人生:兄弟你得有框架啊 这样太软了以后什么活都给你坑你 把你当血包用 牛可乐都得炸出可乐来 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
148366次浏览 2524人参与
# 秋招落幕,你是He or Be #
3342次浏览 76人参与
# 应届生进小公司有什么影响吗 #
109148次浏览 1116人参与
# 比亚迪工作体验 #
70251次浏览 254人参与
# 你面试体验感最差/最好的公司 #
3224次浏览 56人参与
# 工作中听到最受打击的一句话 #
2649次浏览 61人参与
# 大厂VS公务员你怎么选 #
71376次浏览 660人参与
# 重来一次,你会对开始求职的自己说 #
3096次浏览 71人参与
# 一人说一个提前实习的好处 #
3535次浏览 71人参与
# 团建是“福利”还是是 “渡劫” #
4125次浏览 110人参与
# 实习没事做是福还是祸? #
8493次浏览 135人参与
# 如何排解工作中的焦虑 #
244046次浏览 2241人参与
# 从顶到拉给所有面过的公司评分 #
144830次浏览 518人参与
# 今年你最想重开的一场面试是? #
1484次浏览 25人参与
# 你小心翼翼的闯过多大的祸? #
7079次浏览 109人参与
# 联影求职进展汇总 #
123869次浏览 781人参与
# OPPO求职进展汇总 #
755967次浏览 5390人参与
# 互联网公司爆料 #
158626次浏览 724人参与
# 产品实习,你更倾向大公司or小公司 #
189147次浏览 2053人参与
# 秋招结束之后的日子 #
113928次浏览 1039人参与