首页 > 其他 > 详细

字符串hash的用处

时间:2016-04-29 15:16:43      阅读:165      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!