Где хорошая реализация математических наборов для JavaScript? Он должен включать эффективные реализации пересечения, объединения, дополнения и (для бонусных очков) декартова произведения.Какая хорошая реализация математических наборов в JavaScript?
Нет, это не домашнее задание. У меня есть юбикей, это USB-клавиатура, которая набирает последовательность, выбранную из 16 кодов клавиш, для ввода 128-битного одноразового пароля (otp). Чтобы сделать его более полезным, программное обеспечение должно обнаруживать раскладку клавиатуры на основе созданных символов и сопоставлять эти символы с тем, что они будут в макете «us» для совместимости с существующим бэкэнд.
Итак, у меня есть 93 различных последовательностей из 16 символов, представляющих все, что юбикеи могут вводить в каждом из 430 раскладок клавиатуры. (Для этой цели многие макеты одинаковы.) Возможные сопоставления для конкретного otp - это каждая 16-символьная последовательность, содержащая каждый символ в OTP.
Чтобы найти это эффективно, я использую обратный индекс, отображающий каждый возможный символ в список раскладок клавиатуры, которые используют этот символ. Ответ - это пересечение каждой записи обратного индекса для каждого уникального символа в ОТП. Это почти всегда заканчивается ровно одним элементом.
Было бы проще написать этот кросс-браузер с хорошей реализацией Set()
.
код до сих пор находится в http://dingoskidneys.com/~dholth/yubikey/
Это домашнее задание? – ThibThib
№. Я реализовал инвертированный индекс, нужен хороший метод пересечения множеств и все те, которые я нашел втянутыми. – joeforker