题解 | #牛牛的跳表设计#
牛牛的跳表设计
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;
}
};
基恩士成长空间 445人发布