码迷,mamicode.com
首页 > 其他好文 > 详细

字符串hash的用处

时间:2016-04-29 15:17:13      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

简介

hash(哈希)。
把字符串用一种特定的方式放到一个数组里面。

用处

我目前学的短,只知道两个用处。

1、字符串判重

相信很多人都会。

2、可以快速判断同一个字符串中的两段字符串是否相等

maxx=10007;
.
.
.
fo(len,1,n)h[len]=h[len-1]*maxx+s[len];//c++可以不用打hash这个十分的爽,因为能自动的弹出一个数(可正可负)
fo(len,1,n)g[i]=g[i-1]*maxx;//辅助数组

判断l到r是否等于l1到r1

bool pan(int l,int r,int l1,int r1){
    return h[r]-h[l-1]*g[r-l+1]==h[r1]-g[l1-1]*g[r1-l1+1];
}

证明其实很简单,把式子展开一下就好了。

字符串hash的用处

标签:

原文地址:http://blog.csdn.net/doyouseeman/article/details/51277182

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!