Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Deduplicating Dataset Records

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Deduplicating Dataset Records. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Hertz Fleet Operations receives vehicle-event batches that can contain repeated copies of the same event. Deduplicate the batch by retaining the most recently received copy of each logical event.

Implement deduplicate_events(records). A record is a dictionary with these integer fields: rental_id, vehicle_id, event_time, and received_at.

Two records describe the same logical event when their (rental_id, vehicle_id, event_time) values match. For each logical event, keep the record with the greatest received_at. If received_at ties, keep the record that appeared first in the input. Return retained records in their original relative input order.

Formal Specification

  • Input: records, a list of record dictionaries.
  • Output: A list containing one retained dictionary per logical event.
  • Do not modify the input records or their dictionaries.

Constraints

  • 0 <= len(records) <= 100,000
  • Each record contains integer keys: rental_id, vehicle_id, event_time, and received_at
  • 0 <= each field value <= 10^9
  • Records with equal logical keys and equal received_at values retain the earliest input occurrence

Function Signature

def deduplicate_events(records):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output