[Hash-Simple] 705. Diseñar un conjunto de hash

[Título]
Diseñe un conjunto hash (HashSet) sin utilizar ninguna biblioteca de tablas hash incorporada.
Implementar la clase MyHashSet:
void add (key) inserta la clave de valor en el conjunto de hash.
bool contiene (clave) Devuelve si esta clave de valor existe en el conjunto hash.
void remove (key) Elimina la clave de valor dada del conjunto de hash. Si no existe tal valor en el conjunto de hash, no se hace nada.
[Ejemplo]
Entrada:
["MyHashSet", "agregar", "agregar", "contiene", "contiene", "agregar", "contiene", "eliminar", "contiene"]
[[], [1], [2], [1], [3], [2], [2], [2], [2]]
Salida:
[nulo, nulo, nulo, verdadero, falso, nulo, verdadero, nulo, falso]
Explicación :
MyHashSet myHashSet = new MyHashSet ();
myHashSet.add (1); // set = [1]
myHashSet.add (2); // set = [1, 2]
myHashSet.contains (1); // return True
myHashSet.contains (3); // devuelve False, (no encontrado)
myHashSet.add (2); // set = [1, 2]
myHashSet.contains (2); // return True
myHashSet.remove (2); // set = [1]
myHashSet.contains (2); // return False, (eliminado)
prompt:
0 <= key <= 106
llamadas agregar, quitar y contiene hasta 104 veces.
[Código]
[Python]
Inserte la descripción de la imagen aquí

class MyHashSet:
    def __init__(self):
        """
        Initialize your data structure here.
        """
        self.myset=[]

    def add(self, key: int) -> None:
        if key not in self.myset:
            self.myset.append(key)

    def remove(self, key: int) -> None:
        if key in self.myset:
            self.myset.pop(self.myset.index(key))

    def contains(self, key: int) -> bool:
        """
        Returns true if this set contains the specified element
        """        
        return key in self.myset

[Intercambiar espacio por tiempo: método de matriz]
Inserte la descripción de la imagen aquí

class MyHashSet:

    def __init__(self):
        self.set = [False] * 1000001

    def add(self, key):
        self.set[key] = True

    def remove(self, key):
        self.set[key] = False

    def contains(self, key):
        return self.set[key]

Supongo que te gusta

Origin blog.csdn.net/kz_java/article/details/115030242
Recomendado
Clasificación