1044. 最长重复子串

字符串哈希学习
h[i] = h[i-1] * p + s[i]; p[i] = p[i - 1] * p; hashNum = h[i + len] - h[i] * p[len];
可以用字符串哈希来写
且仅当两个哈希值溢出程度与 Integer.MAX_VALUE 呈不同的倍数关系时,会产生错误结果(哈希冲突),此时考虑修改 或者采用表示范围更大的 long 来代替 int。 int做乘法发生溢出警告,可以 * 1ll 转换成 足够大的long long 来完成乘法操作,然后强行向下转换int long long做乘法发生溢出警告,可以转换成足够大的__int128 来完成乘法操作,然后强行向下转换long long mp.clear();减少哈希冲突
C++ 代码如下
class Solution {
// 且仅当两个哈希值溢出程度与 Integer.MAX_VALUE 呈不同

1044. 最长重复子串最先出现在Python成神之路

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/10577.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>