Count nodes in complete tree
Your task
Given a complete binary tree encoded as a dense level-order array (every level full except possibly the last, which is filled left to right with no gaps), return the number of nodes in O(log^2 n) time. Do not just return the array length: implement the height comparison: if a node's leftmost path height equals its rightmost path height, its subtree is perfect with 2^h - 1 nodes; otherwise recurse on both children. Return the node count.
Examples
count_complete_nodes(level: list[int]) -> intExample 1
Input
count_complete_nodes([1, 2, 3, 4, 5, 6])Output
6