Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

HashMap Implementation

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

Your question is HashMap Implementation. 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

Fancode services need a lightweight key-value structure for frequently accessed live-match metadata. Implement a custom HashMap using an array, a hash function, open addressing, linear probing, deletion, and automatic resizing. Do not use Python's built-in dict or any library map.

Create hash_map_operations(operations), where each operation is one of:

  • ['put', key, value]: insert or update a key. Produce no output for this operation.
  • ['get', key]: return the stored value, or -1 if the key is absent.
  • ['remove', key]: delete the key and return True if it existed, otherwise False.

Return a list containing outputs only for get and remove operations, in their original order. Keys and values are integers. The implementation must correctly handle collisions, updates, deletions, negative keys, and resizing. Use tombstones or an equivalent strategy so deletion does not break probe sequences.

Constraints

  • 1 <= len(operations) <= 10^5
  • Keys and values are signed 32-bit integers
  • The initial table capacity is 8
  • The table resizes before its effective load factor reaches 0.5
  • Operation names are valid and use the specified formats

Function Signature

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