关注
第二题(递增二叉树): #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]))
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届校招投递进展 #
26798次浏览 215人参与
# 烟草笔面经互助 #
16726次浏览 180人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
7353次浏览 96人参与
# 为了找工作你花了哪些钱? #
26671次浏览 256人参与
# 你今年的保底offer是哪家 #
117989次浏览 536人参与
# 你觉得技术面多长时间合理? #
96379次浏览 707人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61172次浏览 488人参与
# kpi面有什么特征 #
51937次浏览 402人参与
# 牛友们,签完三方你在忙什么? #
98065次浏览 852人参与
# 听到哪句话就代表面试稳了or挂了? #
170629次浏览 1367人参与
# 如何缓解入职前的焦虑 #
192148次浏览 1338人参与
# 打工人的精神状态 #
49131次浏览 856人参与
# 查收我的offer竞争力报告 #
189395次浏览 1265人参与
# 通信/硬件公司求职体验 #
121480次浏览 860人参与
# 选完offer后,你后悔学本专业吗 #
46205次浏览 234人参与
# 你秋招想去哪些公司 #
21396次浏览 796人参与
# 你后悔选择现在的专业吗 #
83741次浏览 676人参与
# 机械人春招想让哪家公司来捞你? #
344359次浏览 3078人参与
# 外包能不能当跳板? #
34179次浏览 214人参与
# 牛友的志愿填报指南 #
26814次浏览 167人参与
# 地方国企笔面经互助 #
31052次浏览 105人参与