Я хочу иметь словарь, который присваивает значение набору целых чисел.
Например, key
равно [1 2 3]
, а value
будет иметь определенное значение.
Дело в том, что [3 2 1]
в моем случае нужно обрабатывать одинаково, поэтому хэш должен быть равен, если я использую хэш-подход.
В наборе будет от 2 до 10 предметов.
Сумма элементов обычно фиксирована, поэтому мы не можем сделать хэш-код в соответствии с суммой, что является здесь первой естественной идеей.
Не домашнее задание, на самом деле столкнулся с этой проблемой в моем коде.
Этот набор в основном IEnumerable<int>
в C#, поэтому любая структура данных подходит для их хранения.
Любая помощь приветствуется. Здесь также важна производительность.
Сразу мысль: можно было бы подвести итоги items^2
и уже получить какой-то более качественный хэш, но все же хотелось бы услышать некоторые мысли.
РЕДАКТИРОВАТЬ: хм очень жаль, ребята, все предлагают заказать, мне не пришло в голову, что мне нужно сказать, что на самом деле заказ и хеширование - это текущее решение, которое я использую, и я рассматриваю более быстрые альтернативы.