Coding questions · Chicago Trading Company
Merge Nested Dictionaries Iteratively
This question evaluates a candidate's skill in iterative data structure manipulation and handling of nested dictionary merging semantics, including conflict resolution and value overriding.
Given a list of Python dictionaries, merge them into a single dictionary without using recursion.
Rules:
- Process the dictionaries from left to right.
- If a key appears in only one dictionary, keep that key-value pair.
- If the same key appears in multiple dictionaries:
- when both values are dictionaries, merge those dictionaries using the same rules;
- otherwise, the value from the later dictionary overrides the earlier one.
- You may assume keys are strings.
Example:
- Input:
[{"a": 1, "b": {"x": 2}}, {"b": {"y": 3}, "c": 4}, {"b": {"x": 5}}]
- Output:
{"a": 1, "b": {"x": 5, "y": 3}, "c": 4}
Implement a function that returns the merged dictionary using an iterative approach.
Merge Nested Dictionaries Iteratively
Merge dictionaries left-to-right, recursively merging nested dictionaries but implemented with an explicit stack.