模拟题,直接模拟过程即可。

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<pair<int,int> > vec;
        vector<int> ans;
        vec.clear();
        for(int i = 0;i < operators.size();++i){
            if(operators[i][0] == 1){
                for(int j = 0;j < vec.size();++j){
                    if(vec[j].first == operators[i][1]){
                        vec.erase(vec.begin() + j);
                        break;
                    }
                }
                if(vec.size() == k)
                    vec.erase(vec.begin());
                vec.push_back(pair<int,int>(operators[i][1],operators[i][2]));
            }
            else {
                int pos = 0;
                for(pos = 0;pos < vec.size();++pos)
                    if(vec[pos].first == operators[i][1])
                        break;
                if(pos == vec.size())
                    ans.push_back(-1);
                else{
                    pair<int,int> pair = make_pair(vec[pos].first,vec[pos].second);
                    vec.erase(vec.begin() + pos);
                    vec.push_back(pair);
                    ans.push_back(pair.second);
                }
            }
        }
        return ans;
    }
};