leetcode 895. 困难题 Maximum Frequency Stack 最大频率栈

📅 发布时间:2026/7/8 4:07:14 👁️ 浏览次数:
leetcode 895. 困难题 Maximum Frequency Stack 最大频率栈
Problem: 895. Maximum Frequency Stack 最大频率栈哈希表记录每种数值的索引列表以及一个数值列表pop时查找哈希表拿到频次最大的索引列表的最大索引并且update最大索引后面的那些数字的索引然后从数值列表中删除这个数字update哈希表Codeclass FreqStack { public: unordered_mapint, vectorint ump; vectorint tr; FreqStack() { } void push(int val) { ump[val].push_back(tr.size()); tr.push_back(val); } int pop() { int mxINDEX INT_MIN, mx INT_MIN; for(auto [k, l] : ump) { if(mx (int)l.size()) { mx l.size(); mxINDEX l.back(); } else if(mx (int)l.size()) { mxINDEX max(mxINDEX, l.back()); } } for(auto [k, l] : ump) { for(int i 0; i l.size(); i) { if(l[i] mxINDEX) { l[i]--; } } } int a tr[mxINDEX]; tr.erase(tr.begin() mxINDEX); ump[a].pop_back(); if(ump[a].size() 0) { ump.erase(a); } return a; } };