【发布时间】:2009-08-12 14:09:49
【问题描述】:
哪里有一个好的 JavaScript 数学集实现?它应该包括对交集、并集、补集和(对于加分)笛卡尔积的有效实现。
不,这不是家庭作业。我有一个 yubikey,它是一个 USB 键盘,可以键入从 16 个键码中选择的序列以键入 128 位一次性密码 (otp)。为了使其更有用,软件应根据生成的字符检测键盘布局,并将这些字符映射回它们在“us”布局中的样子,以便与现有后端兼容。
所以我有 93 个不同的 16 个字符序列,代表 yubikey 可以在 430 种键盘布局中键入的所有内容。 (为此目的,许多布局都是相同的。)特定 otp 的可能映射是每个 16 字符序列,其中包含 otp 中的每个字符。
为了有效地找到它,我使用反向索引将每个可能的字符映射到使用该字符的键盘布局列表。答案是 otp 中每个唯一字符的反向索引的每个条目的交集。这几乎总是以 1 个元素结束。
使用Set() 的良好实现来编写这个跨浏览器会更容易。
【问题讨论】:
-
没有。我正在实现一个倒排索引,需要一个好的集合交集方法,而我发现的所有方法都很糟糕。
标签: javascript math set intersection