
Problem Challenge 3: Frequency Stack (hard)
Problem Statement
Design a class that simulates a Stack data structure, implementing the following two operations:
push(int num): Pushes the number ‘num’ on the stack.pop(): Returns the most frequent number in the stack. If there is a tie, return the number which was pushed later.
Example:
After following push operations: push(1), push(2), push(3), push(2), push(1), push(2), push(5)
1. pop() should return 2, as it is the most frequent number
2. Next pop() should return 1
3. Next pop() should return 2
Constraints:
- 0 <= val <= 10<sup>9</sup>
- At most 2 * 10<sup>4</sup> calls will be made to push and pop.
- It is guaranteed that there will be at least one element in the stack before calling pop.
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory