From d8f3b40085619cb680c8f227c65a1f5acc393223 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 23 Feb 2021 21:07:19 +0800 Subject: Move leetcode solutions to subdir. --- cpp/704.cpp | 79 ------------------------------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 cpp/704.cpp (limited to 'cpp/704.cpp') diff --git a/cpp/704.cpp b/cpp/704.cpp deleted file mode 100644 index b56a01a..0000000 --- a/cpp/704.cpp +++ /dev/null @@ -1,79 +0,0 @@ -#include -#include - -class MyHashSet -{ - static const int max = 100; - -private: - std::unique_ptr> data_[max]; - -public: - /** Initialize your data structure here. */ - MyHashSet() - { - } - - void add(int key) - { - const auto index = key % max; - auto &ptr = data_[index]; - if (ptr == nullptr) - { - ptr.reset(new std::vector()); - } - - auto &v = *ptr; - for (auto d : v) - { - if (d == key) - return; - } - - v.push_back(key); - } - - void remove(int key) - { - const auto index = key % max; - auto &ptr = data_[index]; - if (ptr == nullptr) - return; - auto &v = *ptr; - const auto end = v.cend(); - for (auto iter = v.cbegin(); iter != end; ++iter) - { - if (*iter == key) - { - v.erase(iter); - return; - } - } - } - - /** Returns true if this set contains the specified element */ - bool contains(int key) - { - const auto index = key % max; - auto &ptr = data_[index]; - if (ptr == nullptr) - return false; - - const auto &v = *ptr; - for (auto d : v) - { - if (d == key) - return true; - } - - return false; - } -}; - -/** - * Your MyHashSet object will be instantiated and called as such: - * MyHashSet* obj = new MyHashSet(); - * obj->add(key); - * obj->remove(key); - * bool param_3 = obj->contains(key); - */ -- cgit v1.2.3