DIY: LFU Cache
Solve the interview question "LFU Cache" in this lesson.
We'll cover the following
Problem statement
Your task is to build an LFU (least frequently used) cache. You will build a structure that initializes a cache with a fixed capacity that allows read and write operations. When the cache reaches its maximum size, replace the least frequent entry with the new one.
Coding exercise
You have to implement the functions Set(key, value)
and Get(key)
. The function Set(key, value)
takes key
and value
as parameters and assigns the value against the provided key. If the key already exists, it updates the value against that key. The function Get(key)
takes key
as a parameter and fetches the value that is stored against that key.
Sample input
lfu = LFUCache(2) // Initialize the cache
lfu.Set(10, 20) // Set the key 10 with value 20
lfu.Get(10) // Get the value against key 10
lfu.print() // Return the cached key-value pairs
Sample output
lfu.Get(10) ==> 20
lfu.print() ==> "(10, 20)"
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.