通常哈希不会做算术,否则
stop和
pots将具有相同的哈希值。
并且你不会将其限制为前n个字符,因为否则
house和
house将具有相同的哈希值。
通常,哈希采用值并将其乘以质数(使其更有可能生成唯一的哈希),因此你可以执行以下 *** 作:
int hash = 7;for (int i = 0; i < strlen; i++) { hash = hash*31 + charAt(i);}
欢迎分享,转载请注明来源:内存溢出
通常哈希不会做算术,否则
stop和
pots将具有相同的哈希值。
并且你不会将其限制为前n个字符,因为否则
house和
house将具有相同的哈希值。
通常,哈希采用值并将其乘以质数(使其更有可能生成唯一的哈希),因此你可以执行以下 *** 作:
int hash = 7;for (int i = 0; i < strlen; i++) { hash = hash*31 + charAt(i);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)