Какой самый эффективный способ хэширования коллекции, не заботясь о порядке? - PullRequest
0 голосов
/ 17 октября 2018

У меня много строк, и мне нужно проверить, сколько пар содержат одинаковые символы.

В настоящее время моя стратегия заключается в создании int [128] символов и для каждого символа в строке, чтобы увеличить счет в символах.Таким образом, в конце chars будет массивом размером 128, каждый индекс будет соответствовать номеру символа, а значение - его числу.

Затем я бы хэшировал символы, скажем, с помощью Java Arrays.hashCode.() функция.

Есть ли более эффективный способ приблизиться к этому?Я попытался выполнить XOR для каждого символа в строке в первом цикле (вместе с построением символов), что работает (но ужасно медленно в моих тестовых заданиях присваивания; я подозреваю, что они предназначены для победы над простой хэш-функцией XOR).Есть ли эффективные хеш-функции, которые работают?

1 Ответ

0 голосов
/ 17 октября 2018

Сортировка символов в каждой строке.То есть сначала вы уничтожаете всю информацию о заказе.После этого достаточно стандарта HashMap.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...