题解 | #牛牛的跳表设计#
牛牛的跳表设计
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; } };