LRU快取機制 LeetCode

2021-10-06 19:07:17 字數 733 閱讀 9766

演算法思想

(1)關鍵字存在:變更資料。

(2)關鍵字不存在:判斷快取容量是否達到上限:達到了上限,則應該刪除最久未使用的資料;未達上限,直接新增。

get約束條件如下:

如果關鍵字在快取,獲取該關鍵字的值,否則返回-1。

此題目要求的資料結構需要滿足:查詢快、插入、刪除快且有順序之分的特點。

於是結合兩個資料結構我們可以得到一種新的資料結構:雜湊鍊錶。此題用這種資料結構就可解決。

// list 沒滿,可以直接新增

_list.

push_front

(make_pair

(key,value));

//建立乙個對組

map[key]

=_list.

begin()

;}else}}

;

leetcode題目 LRU快取機制

題目 運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制 實現 lrucache 類 lrucache int capacity 以正整數作為容量 capacity 初始化 lru 快取 int get int key 如果關鍵字 key 存在於快取中,則返回關鍵字的值,否則返回...

leetcode146 LRU快取機制

運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料 get 和 寫入資料 put 獲取資料 get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料 put key,value 如果金鑰不存在,則寫入其資料值。...

LeetCode 146 LRU快取機制

運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料get和 寫入資料put。獲取資料get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料put key,value 如果金鑰不存在,則寫入其資料值。當快取容量...