【发布时间】:2020-07-05 23:24:22
【问题描述】:
我正在寻找一种快速(实际时间,而不是渐近复杂度)算法来计算相同的多组字符。比如输入
BCDEFGH
ABACD
BDCEF
BDCAA
DBACA
DABACA
DABAC
BCDEHFG
有4个相同的集合,即
ABACD
BDCAA
DBACA
DABAC
还有另外 2 个相同的集合
BCDEFGH
BCDEHFG
集合可以很大(>10,000 个字符)
我正在考虑使用散列,然后将其映射到计数器,但是我必须考虑如何在不进行排序的情况下有效地散列,以便重新排序的字符将映射到相同的散列。我想这样做的一种方法是计算每个字符在整数数组中出现的次数,然后对其进行哈希处理。
或者,是否有其他算法在实践中可能表现更好?也请告诉我任何加速提示和技巧
【问题讨论】:
-
你想要什么输出格式?
-
我想要一个相同集合计数的列表(任何格式),例如在示例中它将是 {4,2},以任何顺序