← Tree Traversal

Micro-Drill #141 — Count good nodes (DFS with max)

Tree Traversal Target: 10s

Carry max-so-far down the path. A node is good if its value >= the path max.

def dfs(n, mx):
    if not n: return 0
    good = 1 if n.val >= mx else 0
    mx = max(mx, n.val)
    return good + dfs(n.left, mx) + dfs(n.right, mx)

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #140 Micro #142 →