真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

力扣895.最大頻率棧-創(chuàng)新互聯(lián)

題目

設(shè)計(jì)一個(gè)類似堆棧的數(shù)據(jù)結(jié)構(gòu),將元素推入堆棧,并從堆棧中彈出出現(xiàn)頻率最高的元素。

創(chuàng)新互聯(lián)主營(yíng)潛山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app開發(fā),潛山h5重慶小程序開發(fā)搭建,潛山網(wǎng)站營(yíng)銷推廣歡迎潛山等地區(qū)企業(yè)咨詢

實(shí)現(xiàn) FreqStack 類:

FreqStack() 構(gòu)造一個(gè)空的堆棧。
void push(int val) 將一個(gè)整數(shù) val 壓入棧頂。
int pop() 刪除并返回堆棧中出現(xiàn)頻率最高的元素。
如果出現(xiàn)頻率最高的元素不只一個(gè),則移除并返回最接近棧頂?shù)脑亍?/p>示例

輸入:
[“FreqStack”,“push”,“push”,“push”,“push”,“push”,“push”,“pop”,“pop”,“pop”,“pop”],
[[],[5],[7],[5],[7],[4],[5],[],[],[],[]]
輸出:[null,null,null,null,null,null,null,5,7,5,4]
解釋:
FreqStack = new FreqStack();
freqStack.push (5);//堆棧為 [5]
freqStack.push (7);//堆棧是 [5,7]
freqStack.push (5);//堆棧是 [5,7,5]
freqStack.push (7);//堆棧是 [5,7,5,7]
freqStack.push (4);//堆棧是 [5,7,5,7,4]
freqStack.push (5);//堆棧是 [5,7,5,7,4,5]
freqStack.pop ();//返回 5 ,因?yàn)?5 出現(xiàn)頻率最高。堆棧變成 [5,7,5,7,4]。
freqStack.pop ();//返回 7 ,因?yàn)?5 和 7 出現(xiàn)頻率最高,但7最接近頂部。堆棧變成 [5,7,5,4]。
freqStack.pop ();//返回 5 ,因?yàn)?5 出現(xiàn)頻率最高。堆棧變成 [5,7,4]。
freqStack.pop ();//返回 4 ,因?yàn)?4, 5 和 7 出現(xiàn)頻率最高,但 4 是最接近頂部的。堆棧變成 [5,7]。

來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/maximum-frequency-stack
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

方法1:哈希表
  • 哈希表Mapcnts:存【數(shù),數(shù)出現(xiàn)的次數(shù)】。
  • 哈希表 Mapmap;:存【出現(xiàn)的次數(shù)c,出現(xiàn)次數(shù)為c的元素列表】。
  • 變量int max:當(dāng)前出現(xiàn)次數(shù)大值。
  • 序列中的結(jié)尾元素為出現(xiàn)次數(shù)為 c 的所有元素中最靠近棧頂?shù)脑亍?/li>
  • 當(dāng)我們?cè)谀炒?pop 操作后發(fā)現(xiàn)出現(xiàn)次數(shù)為 max 的集合為空時(shí),對(duì) max 進(jìn)行自減操作即可。
Java實(shí)現(xiàn)
class FreqStack {Mapcnts;
    Map>map;
    int max;
    public FreqStack() {cnts = new HashMap<>();
        map = new HashMap<>();
    }
    
    public void push(int val) {cnts.put(val, cnts.getOrDefault(val, 0) + 1);
        int c = cnts.get(val);
        Listlist = map.getOrDefault(c, new ArrayList<>());
        list.add(val);
        map.put(c, list);
        max = Math.max(max, c);
    }
    
    public int pop() {Listlist = map.get(max);
        int ans = list.remove(list.size() - 1);
        cnts.put(ans, cnts.get(ans) - 1);
        if (list.size() == 0) max--;
        return ans;
    }
}

在這里插入圖片描述

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前名稱:力扣895.最大頻率棧-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/hocpo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部