← Назад к списку задач

12. Insert Delete GetRandom O(1)

Хэш-таблицы Уровень 1

Описание задачи

Необходимо реализовать структуру данных RandomizedSet, которая поддерживает операции добавления (insert), удаления (remove) и получения случайного элемента (getRandom) с гарантированной сложностью выполнения каждой операции в O(1).

На вход подается целое число val для операции insert. Для операций remove и getRandom не требуется явных аргументов.

Функция insert возвращает True, если элемент успешно добавлен, и False в противном случае (если элемент уже присутствует в множестве). Функция remove возвращает True, если элемент успешно удален, и False в противном случае (если элемента нет в множестве). Функция getRandom возвращает случайный элемент из текущего набора.

Режим обучения Готово

Объяснение решения уже подготовлено. Нажмите кнопку, чтобы посмотреть.

Ваше решение

Подсказка (готовое решение)

    def __init__(self):