Class Solution
-
- All Implemented Interfaces:
public final class Solution2049 - Count Nodes With the Highest Score\.
Medium
There is a binary tree rooted at
0consisting ofnnodes. The nodes are labeled from0ton - 1. You are given a 0-indexed integer arrayparentsrepresenting the tree, whereparents[i]is the parent of nodei. Since node0is the root,parents[0] == -1.Each node has a score. To find the score of a node, consider if the node and the edges connected to it were removed. The tree would become one or more non-empty subtrees. The size of a subtree is the number of the nodes in it. The score of the node is the product of the sizes of all those subtrees.
Return the number of nodes that have the highest score.
Example 1:
Input: parents = -1,2,0,2,0
Output: 3
Explanation:
The score of node 0 is: 3 \* 1 = 3
The score of node 1 is: 4 = 4
The score of node 2 is: 1 \* 1 \* 2 = 2
The score of node 3 is: 4 = 4
The score of node 4 is: 4 = 4
The highest score is 4, and three nodes (node 1, node 3, and node 4) have the highest score.
Example 2:
Input: parents = -1,2,0
Output: 2
Explanation:
The score of node 0 is: 2 = 2
The score of node 1 is: 2 = 2
The score of node 2 is: 1 \* 1 = 1
The highest score is 2, and two nodes (node 0 and node 1) have the highest score.
Constraints:
n == parents.length<code>2 <= n <= 10<sup>5</sup></code>
parents[0] == -10 <= parents[i] <= n - 1fori != 0parentsrepresents a valid binary tree.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegercountHighestScoreNodes(IntArray parents)-
-
Method Detail
-
countHighestScoreNodes
final Integer countHighestScoreNodes(IntArray parents)
-
-
-
-