Search⌘ K
AI Features

Solution: Map Sum Pairs

Discover how to design a MapSum class that supports inserting key-value pairs and returning the sum of all values with a given prefix. Understand how to leverage tries to optimize prefix queries and handle updates efficiently by tracking the difference between new and old values. This lesson helps you implement and reason about an effective solution for prefix sum problems using trie data structures.

Statement

Design a data structure that supports the following operations:

  1. Insert a key-value pair:

    1. Each key is a string, and each value is an integer.

    2. If the key already exists, update its value to (overriding the previous value).

  2. Return the prefix sum:

    1. Given a string, prefix, return the total sum of all values associated with keys that start with this prefix.

To accomplish this, implement a class MapSum:

  • Constructor: Initializes the object.

  • void insert (String key, int val): Inserts the key-value pair into the data structure. If the key already exists, its value is updated to the new one.

  • int sum (String prefix): Returns the total sum of values for all keys that begin with the specified prefix.

Constraints:

  • 11 \leq key.length, prefix.length ...