Leetcode 931 Solution

This article provides solution to leetcode question 931 (maximum-frequency-stack)

https://leetcode.com/problems/maximum-frequency-stack

Solution

class FreqStack { int maxFreq; unordered_map<int, vector<int>> values; unordered_map<int, int> freq; public: FreqStack() { maxFreq = 0; }
void push(int val) { freq[val] += 1; values[freq[val]].push_back(val);
maxFreq = max(maxFreq, freq[val]); }
int pop() { int res = values[maxFreq].back();
values[maxFreq].pop_back(); if (values[maxFreq].empty()) { values.erase(maxFreq); maxFreq--; } freq[res]--;
return res; } };
/** * Your FreqStack object will be instantiated and called as such: * FreqStack* obj = new FreqStack(); * obj->push(val); * int param_2 = obj->pop(); */