arrow_back Back to Challenges

#146 LRU Cache

Medium Acceptance 0%
description

Problem Description

Design a data structure that follows the constraints of a Least Recently Used (LRU) cache. Implement the `LRUCache` class: - `LRUCache(int capacity)` Initialize the LRU cache with positive size capacity. - `int get(int key)` Return the value of the key if the key exists, otherwise return -1. - `void put(int key, int value)` Update the value of the key if the key exists. Otherwise, add the key-value pair to the cache. If the number of keys exceeds the capacity, evict the least recently used key.

checklist Constraints

1 <= capacity <= 3000
0 <= key <= 10^4
0 <= value <= 10^5
At most 2 * 10^5 calls will be made to get and put.

science Examples

Case #1

In: ["LRUCache","put","put","get","put","get"] [[2],[1,1],[2,2],[1],[3,3],[2]]
Out: [null,null,null,1,null,-1]

Case #2

In: ["LRUCache","put","get"] [[1],[2,1],[2]]
Out: [null,null,1]

Mastery Tags

Hash Table Linked List

Hiring Companies

Amazon Google Meta
code

Integrated IDE

code_blocks
Coding
psychology
Aptitude