题解 | #设计LRU缓存结构#
设计LRU缓存结构
http://www.nowcoder.com/practice/e3769a5f49894d49b871c09cadd13a61
export function LRU(operators: number[][], k: number): number[] {
// write code here
const map = new Map()
let res = []
for (const v of operators) {
if (v[0] == 1) {
if (map.size == k) {
map.delete(Array.from(map.keys())[0]) //此处牛客自带的ts编译器用不了[...map.keys()]
}
map.get(v[1]) ? map.delete(v[1]) : null
map.set(v[1], v[2])
} else {
if (map.get(v[1])) {
res.push(map.get(v[1]))
map.delete(v[1])
map.set(v[1], res[res.length - 1])
} else {
res.push(-1)
}
}
}
return res
}
深信服公司福利 832人发布