3092. 最高频率的 ID
思路:用一个哈希表mp来记录所有ID当前的数量,再用一个优先队列qu来记录当前数量最多的ID
class Solution {
public:
vector<long long> mostFrequentIDs(vector<int>& nums, vector<int>& freq) {
vector<long long> v;
int n=nums.size();
unordered_map<int,long long>mp;
priority_queue<pair<long long ,int>> qu;
for(int i=0;i<n;i++){
mp[nums[i]]+=freq[i];
qu.push({mp[nums[i]],nums[i]});
//将与实际数量不符的ID去除
while(qu.top().first!=mp[qu.top().second]) qu.pop();
v.push_back(qu.top().first);
}
return v;
}
};