跳转至

字符串哈希

约 89 个字 6 行代码 1 张图片 预计阅读时间不到 1 分钟

将字符串转为哈希值,例如给定字符串 s=abca,其包含的字符种类为 3(即 abc 三种)。我们取 base=9,将字符串 s 看成九进制数 (0120),转换为十进制为 99,也就是说字符串 abca 的编码为 99。一般地,计算编码值的公式如下:

alt text

int base = 31, mod = 1000000007;
int prefix = 0;
for (int i = 1; i < n; ++i) {
    prefix = ((long long)prefix * base + (s[i - 1] - 97)) % mod;
}

颜色主题调整

评论区~

有用的话请给我个赞和 star => GitHub stars
快来跟我聊天~