有一个问题,试图查看两个唯一的字符串是否彼此相同。我考虑过的第一个解决方案是对两个字符串进行排序,看看它们是否相等。
我一直在考虑另一种解决方案,我想讨论一下是否可行。
想法是为每个字符分配一个数值并将其求和,以使唯一的一组字符产生一个唯一的值。当我们测试字谜时,我们不介意“ asdf”和“ adsf”的校验和是否相同- 实际上,我们要求是这样。但是,字符串“ aa”和“ b”的校验和不应相等。
我正在考虑将前52个素数分配给字母“ a”至“ z”,然后分配“ A”至“ Z”(假设我们只有字母)。
如果52个素数集中的任何两个或更多素数之和可能导致该集中存在另一个素数,则上述方案将失效。
我的怀疑是:
谢谢。
使用乘法而不是加法。素数是“可乘唯一的”,而不是“可乘唯一的”。