Множество со вставкой/удалением/проверкой за O(1)

Проектирование структур данных Легкая
Реализуйте структуру данных с операциями insert, remove и contains за O(1) в среднем. Дан список операций operations: ["insert", v], ["remove", v] или ["contains", v]. Верните список булевых результатов всех операций по порядку (insert - False, если элемент уже был; remove - False, если элемента не было).
Сигнатура функции
randomized_set_ops(operations: list) -> list[bool]
Примеры
ВходОжидаемый результат
[[["insert", 1], ["insert", 2], ["contains", 1], ["remove", 1], ["contains", 1], ["insert", 1]]][true, true, true, true, false, true]
[[["contains", 5]]][false]
[[["insert", 1], ["insert", 1]]][true, false]
[[["remove", 1]]][false]
[[["insert", 1], ["remove", 1], ["remove", 1]]][true, true, false]
[[["insert", 5], ["insert", 6], ["remove", 5], ["contains", 5], ["contains", 6]]][true, true, true, false, true]
[[["insert", 0], ["contains", 0]]][true, true]
[[["insert", -1], ["insert", -1], ["contains", -1]]][true, false, true]
[[["remove", 100], ["insert", 100], ["remove", 100]]][false, true, true]
[[["insert", 1], ["insert", 2], ["insert", 3], ["remove", 2], ["contains", 1], ["contains", 2], ["contains", 3]]][true, true, true, true, true, false, true]
1решили
1пытались
100%успешность
Войдите, чтобы решить →