Match readings with latest same-city humidity
Two SigmaData Scientist · Technical ScreenLast updated
This question evaluates the ability to align and join time-ordered sensor data by key, testing skills in time-series merging, per-key state management, and handling absent matches.
Problem
You are given two time-sorted lists of sensor readings:
- Temperature records:
(time, city, reading) - Humidity records:
(time, city, reading)
Example:
Temperature
[(1, 'NYC', 12),
(5, 'SFO', 20),
(7, 'NYC', 23),
(16, 'SFO', 10)]
Humidity
[(0, 'SFO', 12),
(3, 'SFO', 2),
(6, 'NYC', 2),
(19, 'SFO', 9)]
Task
For each temperature record, match it with the most recent humidity record from the same city whose time <= temperature_time.
- If there is no earlier humidity record for that city, return
null(orNone) for the humidity reading.
Output
Return a list aligned to the temperature records, where each element includes the temperature record and the matched humidity reading (or null).
Constraints
- Both input lists are individually sorted by time ascending.
- Cities may appear in any order within the global time ordering.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.