中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lintcode24 LFU Cache solution 題解

發布時間:2020-08-10 11:19:17 來源:網絡 閱讀:553 作者:coderer 欄目:軟件技術

【題目描述】

LFU (Least Frequently Used) is a famous cache eviction algorithm.For a cache with capacity k, if the cache is full and need to evict a key in it, the key with the lease frequently used will be kicked out.Implement set and get method for LFU cache.

LFU是一個著名的緩存算法。實現LFU中的set 和 get

【題目鏈接】

http://www.lintcode.com/en/problem/lfu-cache/

【題目解析】

這道題讓我們實現一個LRU緩存器,LRU是Least Recently Used的簡寫,就是最近最少使用的意思。那么這個緩存器主要有兩個成員函數,get和set,其中get函數是通過輸入key來獲得value,如果成功獲得后,這對(key, value)升至緩存器中最常用的位置(頂部),如果key不存在,則返回-1。而set函數是插入一對新的(key, value),如果原緩存器中有該key,則需要先刪除掉原有的,將新的插入到緩存器的頂部。如果不存在,則直接插入到頂部。若加入新的值后緩存器超過了容量,則需要刪掉一個最不常用的值,也就是底部的值。具體實現時我們需要三個私有變量,cap, l和m,其中cap是緩存器的容量大小,l是保存緩存器內容的列表,m是哈希表,保存關鍵值key和緩存器各項的迭代器之間映射,方便我們以O(1)的時間內找到目標項。

【參考答案】

http://www.jiuzhang.com/solutions/lfu-cache/



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

焦作市| 云林县| 息烽县| 鹤庆县| 舞钢市| SHOW| 郸城县| 定南县| 和林格尔县| 旬邑县| 吉安县| 普定县| 本溪| 四平市| 涞源县| 榆社县| 成都市| 宁远县| 元朗区| 屯门区| 南平市| 福安市| 公主岭市| 濉溪县| 义马市| 华容县| 广丰县| 鄂托克旗| 将乐县| 沙河市| 桃源县| 全椒县| 苏尼特右旗| 龙胜| 通海县| 彭水| 武义县| 缙云县| 凤冈县| 渝中区| 同心县|