![]() |
1
4
第一:无法正确反转导致整数溢出的操作。基本上,问题是您无法知道整数溢出在前一个操作中是否发生过一次、两次甚至更频繁。因此您无法获得原件
第二:散列计算取决于应用的散列值的顺序。
由于追加最后一个值的散列值更改取决于所有以前的散列值,因此您不能只更改一个中间散列值,因此没有(性能良好)的方法来消除
如果您使用
|
![]() |
2
3
基本上,当用整数进行计算时,需要进行2^32的算术模运算。所以在溢出的情况下,如果不是除以37,而是乘以它的模逆1857283155,它就会工作。例如,结果1:
第二个问题是,当您添加a然后添加b时,哈希值与添加b然后添加a时的值不同。这是无法用此哈希函数解决的。 |
![]() |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
![]() |
Wadu Hek · 查找列表中唯一的重复项 2 年前 |
![]() |
Crawford Patten · 如何获得整数列表的四分位数 2 年前 |
![]() |
MoonGoose · 如何在python中围绕特殊字符创建空间? 2 年前 |
![]() |
taha khamis · 在一个数字中组合元素的省道 3 年前 |
![]() |
Soup · 比O(n)更快地找到阶乘n模m 3 年前 |
![]() |
BigO · 单词积分游戏不断增加数字[关闭] 3 年前 |