하위 트리의 평균과 같은 개수의 노드
root
가 주어지면 노드 값이 하위 트리 값의 평균과 같은 노드 수를 반환합니다.메모:
n
요소의 평균은 n
요소의 합계를 n
로 나눈 다음 가장 가까운 정수로 내림한 것입니다. root
의 하위 트리는 root
및 모든 하위 항목으로 구성된 트리입니다. 예 1:
입력: 루트 = [4,8,5,0,1,null,6]
출력: 5
설명:
값이 4인 노드의 경우 하위 트리의 평균은 (4 + 8 + 5 + 0 + 1 + 6)/6 = 24/6 = 4입니다.
값이 5인 노드의 경우 하위 트리의 평균은 (5 + 6)/2 = 11/2 = 5입니다.
값이 0인 노드의 경우: 하위 트리의 평균은 0/1 = 0입니다.
값이 1인 노드의 경우: 하위 트리의 평균은 1/1 = 1입니다.
값이 6인 노드의 경우: 하위 트리의 평균은 6/1 = 6입니다.
예 2:
입력: 루트 = [1]
출력: 1
설명: 값이 1인 노드의 경우: 하위 트리의 평균은 1/1 = 1입니다.
제약:
[1, 1000]
범위에 있습니다. 0 <= Node.val <= 1000
해결책:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def sumcount(self, root):
total = 0
n = 0
if root:
ltotal, ln = self.sumcount(root.left)
rtotal, rn = self.sumcount(root.right)
total = ltotal + rtotal + root.val
n = ln + rn + 1
if root.val == total // n:
self.ctr += 1
return (total, n)
def averageOfSubtree(self, root: Optional[TreeNode]) -> int:
self.ctr = 0
self.sumcount(root)
return self.ctr
Reference
이 문제에 관하여(하위 트리의 평균과 같은 개수의 노드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/count-nodes-equal-to-average-of-subtree-4k0a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)