cswork / libraryOpen practice workspace

Coding questions · Meta

Compute capacities after site closures

This question evaluates a candidate's ability to manipulate nested dictionary data structures and perform aggregate capacity computations, assessing data transformation, mapping, and set-based reasoning skills relevant to a Data Engineer within the Coding & Algorithms domain.

You are given a nested dictionary redistribution where redistribution[closed_site][dest_site] equals the additional capacity required at dest_site if closed_site is shut down. The baseline capacity for each site s is baseline[s] = redistribution[s][s]. Given a set of closed sites C (possibly empty), compute and return a dictionary over the open sites O = AllSites − C with capacity[o] = baseline[o] + sum(redistribution[c][o] for c in C). Exclude closed sites from the output. For example, if C = {} return the baselines; if C = {'A'}, then capacity['B'] = baseline['B'] + redistribution['A']['B'] (e.g., 110 + 10 = 120).

Compute Capacities After Site Closures

Examples

Example 1

Input: ({'A':{'A':100,'B':10}, 'B':{'A':5,'B':110}}, [])
Output: {'A': 100, 'B': 110}

Explanation: No closures returns baselines.

Example 2

Input: ({'A':{'A':100,'B':10}, 'B':{'A':5,'B':110}}, ['A'])
Output: {'B': 120}

Explanation: A closure adds to B.

Hints

  1. Model object-style prompts as arrays or operation streams when needed.
  2. Handle empty and boundary cases before the main logic.