Я пытаюсь придумать алгоритм, чтобы сделать следующее на карте уменьшить. Я получаю кучу объектов и идентификаторы пользователя владельца. Другими словами, я получаю кучу пар:Группировка коллекции с пороговой фильтрацией
(object, uid)
Я хочу, чтобы в конечном итоге со списком пар (object,count)
, где count
относится к числу раз объект происходит в списке. Проблема заключается в том, что мы должны были бы отфильтровать все следующим образом:
Мы должны включать только пары объектов таким образом, что объект повторяются по крайней мере
n
различных жидкостей.Мы должны включать только такие объекты, чтобы общее количество повторений повторений составляло не менее m.
Объекты и пользователи представлены в виде целых чисел. Проблема в том, что было бы тривиально преобразовать каждую пару (object,uid)
в (object, 1)
, а затем свести их вместе путем суммирования вторых целых чисел. Затем я мог бы фильтровать все, что не попадает в порог (2). Однако в этот момент я потерял бы информацию, необходимую для фильтрации по (1), что я не знаю, как включить в нее. У кого-нибудь есть предложения?