我有一个字符串anna
,其中字符串中的字符值a = 1, n = 14 ( You can compute the value of other chars like ( char - 96 )
和哈希函数如下所示:
int hashCode( string s ) // s = "anna";
{
k = 0;
for ( int i = 0; i < s.length(); i++ )
k = ( 7 * k + 3 * s[i] ) % 61;
return k;
}
如何找到发生碰撞的长度为 3 的字符串(一些聪明的东西)?我想到的唯一方法是计算k
哪个anna
是29
,然后以某种方式想到另一个长度为 3 的字符串29
。