/**
* lru design
* @param operators int整型二维数组 the ops
* @param k int整型 the k
* @return int整型一维数组
*/
function LRU( operators , k ) {
let result = []
let map = new Map()
for (let item of operators) {
if (item[0] === 1) {
// 设置
map.set(item[1], item[2])
if (map.size > k) {
map.delete(map.keys().next().value)
}
} else if (item[0] === 2) {
// 获取
if (map.has(item[1])) {
let temp = map.get(item[1])
result.push(map.get(item[1]))
map.delete(item[1])
map.set(item[1], temp)
} else {
result.push(-1)
}
}
}
return result
}
module.exports = {
LRU : LRU
};