我有一个问题:如果我们让滚动哈希溢出,是否会影响 Rabin-Karp 算法的正确性?您能否举一个可靠的例子说明溢出确实会影响正确性?
这类似于相同的字符串,例如,当您直接从“abcd”或“eabcd”计算时,“abcd”将给出不同的哈希值 (hash("eabc") - hash("e") * R^3) * R +哈希(“d”)
hash("abcd") != (hash("eabc") - hash("e") * R^3) * R + hash("d") 如果我们允许 int/long 溢出