Задача 1MediumХешированиеВероятностные структуры данных
Фильтр Блума с несколькими хеш-функциями
Реализуйте упрощенный Bloom filter.
Есть битовый массив размера size, num_hashes hash-функций и список операций:
["add", value]— добавить строку в фильтр;["check", value]— проверить строку.
Для check верните "MAYBE_EXISTS", если все нужные биты выставлены, иначе "DOES_NOT_EXIST".
Чтобы автотесты были детерминированными, используйте стабильный hash:
def stable_hash(item: str, salt: int, size: int) -> int:
total = 0
for ch in f"{salt}:{item}":
total = (total * 131 + ord(ch)) % size
return totalСигнатура
def bloom_filter_trace(size: int, num_hashes: int, operations: list[list[str]]) -> list[str]:Ваше решение
Консоль
Нажмите «Запустить проверки» или Ctrl+Enter