LeetCode - 705. Design HashSet(Array, Hash Table, Linked List, Design, Hash Function)*
質問する
内蔵ハッシュテーブルライブラリを使用せずにHashSetを設計します.
MyHashSetクラスの実装:
void add(キー)値キーをHashSetに挿入します.
bool contains(キー)値キーがHashSetにあるかどうかを返します.
void remove(key)ハッシュセットから値キーを削除します.HashSetに鍵がない場合は、何もしないでください.
https://leetcode.com/problems/design-hashset/
Design a HashSet without using any built-in hash table libraries.
Implement MyHashSet class:
void add(key) Inserts the value key into the HashSet.
bool contains(key) Returns whether the value key exists in the HashSet or not.
void remove(key) Removes the value key in the HashSet. If key does not exist in the HashSet, do nothing.
Example 1:
Input
{"MyHashSet", "add", "add", "contains", "contains", "add", "contains", "remove", "contains"}
{ [], [1], [2], [1], [3], [2], [2], [2], [2] }
[null, null, null, true, false, null, true, null, false]
Explanation
MyHashSet myHashSet = new MyHashSet();
myHashSet.add(1); //set = [1]
myHashSet.add(2); //set = [1, 2]
myHashSet.contains(1);//return True
myHashSet.contains(3);//return False, (not found)
myHashSet.add(2); //set = [1, 2]
myHashSet.contains(2);//return True
myHashSet.remove(2); //set = [1]
myHashSet.contains(2);//return False, (already removed)
に答える
これはJavaです.
class MyHashSet {
List<Integer> contain;
public MyHashSet() {
contain = new ArrayList();
}
public void add(int key) {
if(!contains(key)){
contain.add(key);
}else return;
}
public void remove(int key) {
int index = contain.indexOf(key);
if(index!=-1) contain.remove(index);
}
//데이터가 있는지 유무 파악
public boolean contains(int key) {
return contain.contains(key);
}
}
/**
* Your MyHashSet object will be instantiated and called as such:
* MyHashSet obj = new MyHashSet();
* obj.add(key);
* obj.remove(key);
* boolean param_3 = obj.contains(key);
*/
Reference
この問題について(LeetCode - 705. Design HashSet(Array, Hash Table, Linked List, Design, Hash Function)*), 我々は、より多くの情報をここで見つけました https://velog.io/@yamamamo/LeetCode-705.-Design-HashSetArray-Hash-Table-Linked-List-Design-Hash-Functionテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol