题解 | #牛牛的跳表设计#

牛牛的跳表设计

https://www.nowcoder.com/practice/6f1858d268634e2ca453b1cccbd19dc0

#include <set>
class Skiplist{
    private:
    multiset<int> skiptable;
    public:
    Skiplist() = default;

    bool search(int target){
        if(skiptable.find(target) != skiptable.end()) return true;
        else return false;
    };

    void add(int num){
        skiptable.insert(num);
        return;
    };

    bool erase(int num){
        auto itr = skiptable.find(num);
        if(itr == skiptable.end()) return false;
        else {
            skiptable.erase(itr);
            return true;
        }
    }
};


class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param operations int整型vector<vector<>> 
     * @param data int整型vector<vector<>> 
     * @return bool布尔型vector
     */
    vector<bool> performOperations(vector<vector<int> >& operations, vector<vector<int> >& data) {
        // write code here
        vector<bool> res;
        Skiplist st;
        for(int i = 0; i < operations.size(); ++i){
            if(operations[i][0] == 0){
                res.push_back(st.search(data[i][0]));
            }
            else if(operations[i][0] == 1){
                st.add(data[i][0]);
                res.push_back(true);
            }
            else if(operations[i][0] == 2){
                res.push_back(st.erase(data[i][0]));
            }
        }
        return res;
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务