lru:最近最少使用。不管是讀還是寫,都是對此資料重新整理他的時間(時間由雙向鍊錶的順序決定)。
classlrucache
public node(int key, int
value)
}private node dummyhead = new
node();
private node dummytail = new
node();
private
intcapacity;
private
intsize;
private hashmaphashmap = new hashmap<>();
//將節點新增到虛擬頭節點之後
private
void
add(node node)
//刪除某個節點
private
void
del(node node)
public lrucache(int
capacity)
public
int get(int
key)
del(node);
add(node);
return
node.value;
}public
void put(int key, int
value)
else
else
node newnode = new
node(key, value);
add(newnode);
hashmap.put(key, newnode);
}}
LeetCode146 動手實現LRU演算法
運用你所掌握的資料結構,設計和實現乙個lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料get和 寫入資料put。獲取資料get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料put key,value 如果金鑰不存在,則寫入其資料值。當快取容量達...
LeetCode146 動手實現LRU演算法
運用你所掌握的資料結構,設計和實現乙個lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料get和 寫入資料put。獲取資料get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料put key,value 如果金鑰不存在,則寫入其資料值。當快取容量達...
LRU快取機制 leetcode146
運用你所掌握的資料結構,設計和實現乙個 lru 最近最少使用 快取機制。它應該支援以下操作 獲取資料 get 和 寫入資料 put 獲取資料 get key 如果金鑰 key 存在於快取中,則獲取金鑰的值 總是正數 否則返回 1。寫入資料 put key,value 如果金鑰已經存在,則變更其資料值...