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; } }