import java.util.*;
public class Solution {
/**
* lru design
* @param operators int整型二维数组 the ops
* @param k int整型 the k
* @return int整型一维数组
*/
public int[] LRU (int[][] operators, int k) {
// write code here
LinkedHashMap<Integer, Integer> map = new LinkedHashMap<>();
List<Integer> list = new ArrayList<>();
for(int i=0;i<operators.length;i++){
int[] row = operators[i];
if(row[0] == 1){
// set
if(map.size() == k){
map.remove(map.entrySet().iterator().next().getKey());
}
map.put(row[1], row[2]);
} else if(row[0] == 2){
Integer val = map.get(row[1]);
if(val == null){
list.add(-1);
} else {
list.add(val);
map.remove(row[1]);
map.put(row[1], val);
}
}
}
int[] res = new int[list.size()];
int i = 0;
for(int ele: list){
res[i++] = ele;
}
return res;
}
}