class Solution { public: /** * lru design * @param operators int整型vector<vector<>> the ops * @param k int整型 the k * @return int整型vector */ vector<int> LRU(vector<vector<int> >& operators, int k) { // write code here vector<int>key,value,res; for(int i=0;i<operators.size();i++) { if(operators[i][0]==1) { set(operators[i][1],operators[i][2],key,value,k); }else{ get(operators[i][1],key,value,res); } } return res; } void set(int a,int b,vector<int> &key, vector<int> &value,int k) { if(key.size()<k) { key.push_back(a); value.push_back(b); }else{ key.push_back(a); value.push_back(b); key.erase(key.begin()); value.erase(value.begin()); } } void get(int a,vector<int> &key,vector<int> &value,vector<int> &res) { int t=-1; for(int i=0;i<key.size();i++) { if(key[i]==a) { t=value[i]; key.push_back(key[i]); value.push_back(value[i]); key.erase(key.begin()+i); value.erase(value.begin()+i); break; } } res.push_back(t); } };