leetcode 146 實現LRU演算法

2022-06-18 07:09:09 字數 854 閱讀 7620

lru:最近最少使用。不管是讀還是寫,都是對此資料重新整理他的時間(時間由雙向鍊錶的順序決定)。

class

lrucache

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 如果金鑰已經存在,則變更其資料值...