分享好友 最新动态首页 最新动态分类 切换频道
网络公司经营范围怎么写/潍坊关键词优化排名
2024-12-27 11:09

用过哈希表的朋友们都知道,每一个字符串都可以通过某种哈希算法,转换成一个整型数,这个整型数就是hashcode

hashcode = hash(string)

生成hashcode的算法多种多样,比如

按位相加

这是最简单的方法,我们可以把a当做1,b当做2,c当做3......然后把字符串的所有字符相加,相加结果就是它的hashcode。

bce = 2 + 3 + 5 = 10

但是,这个算法虽然简单,却很可能产生hash冲突,比如bce、bec、cbe的hashcode是一样的。

转换成26进制数

既然字符串只包含26个小写字母,那么我们可以把每一个字符串当成一个26进制数来计算。

bce = 2*(26^2) + 3*26 + 5 = 5

这样做的好处是大幅减少了hash冲突,缺点是计算量较大,而且有可能出现超出整型范围的情况,需要对计算结果进行取模。

由于主串通常要长于模式串,把整个主串转化成hashcode是没有意义的,只有比较主串当中和模式串等长的子串才有意义。

因此,我们首先生成主串中第一个和模式串等长的子串hashcode

显然,5=10,说明模式串和第一个子串不匹配,我们继续下一轮比较。

第四步,生成主串当中第二个等长子串的hashcode。

显然,7=10,说明模式串和第二个子串不匹配,我们继续下一轮比较。

第六步,生成主串当中第三个等长子串的hashcode。

显然,10 ==10,两个hash值相等!这是否说明两个字符串也相等呢

别高兴的太早,由于存在hash冲突的可能,我们还需要进一步验证。

第八步,逐个字符比较两字符串。

新hashcode = 旧hashcode - 1 + 4 = 26-1+4 = 29

再下一个子串bcefgde的计算也是同理

新hashcode = 旧hashcode - 2 + 5 = 29-2+5 = 32

最新文章
阿里云|人工智能(AI)技术解决方案
函数计算部署Stable Diffusion AI绘画技术解决方案 通过函数计算快速部署Stable Diffusion模型为用户提供快速通过文字生成图片的能力。该方案通过函数计算快速搭建了AIGC的能力,无需管理服务器等基础设施,专注模型的能力即可
热剧售后综艺还有大搞头
犀牛娱乐原创文|方正 编辑|朴芳剧综,即剧集衍生综艺,本质上,它是一种长视频平台借势热剧流量开发售后内容的长尾产品。2024临近尾声,这个赛道正打得不可开交。前有优酷《剧剧有回应》首发《剧剧有回应·春花焰》、且10日又官宣了孙俪
数据分析常见概念
BI:Business Intelegence,商业智能,基于数据仓库,经过数据挖掘后,得到了商业价值的过程。例如利用数据预测用户购物行为属性商业智能DW:Data Warehouse,数据仓库,数据库的升级概念,一般量更庞大,将多个数据来源的数据进行汇总、整
同创智能锁全国售后维修电话(同创智能锁)总部故障报修 - 金昌机械 - 金昌百科知识-金昌蓝心网
同创智能锁24小时维修服务热线:400-658-8618。亳州智能锁全市各区售后服务点热线号码。☎:400-658-8618同创智能锁服务,秉承“诚信为本、客户至上”的服务态度和“以客户为中心”的服务指导思想,不仅真诚地为用户提供先进、高质量的系列
耐用性问题
科技媒体 sammyfans 昨日(12 月 16 日)发布博文,报道称部分三星 Galaxy S24 Ultra 手机的超强防反光涂层存在耐用性问题,未能达到预期效果。IT之家曾于今年 1 月报道,三星在宣传 Galaxy S24 Ultra 时主要提及了钛金属、AI 等诸多亮点,
除菌过滤器
[1]国产品牌滤芯均为我司生产的替代原厂品牌滤芯,其过滤滤材采用德国原装进口HV公司产品,注册商标为佳洁牌。本公司涉及的其它品牌均无品牌意义,只是作为产品型号参照和客户选型对照使用。进口滤芯和过滤器为原装进口,有防伪标志。我司
【国盛计算机】海外智能驾驶持续放大招
登录新浪财经APP 搜索【信披】查看更多考评等级  炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!FSD v13已向部分用户发布,特斯拉端到端算法持续迭代。根据特斯拉自动驾驶工作人员Ashok Elluswamy的推特信息
造有道 智万物——德勤人工智能制造业应用调查
二、应用场景人工智能在制造业的应用场景众多,大致可以分为智能生产、产品和服务、企业运营管理、供应链以及业务模式决策五个领域。智能生产相关场景应用是目前制造企业部署人工智能的首要选择,其次为产品和服务相关场景。但未来两年,人
迁移 TiDB 数据库的数据至 OceanBase 数据库 MySQL 租户
数据传输支持创建源端 TiDB 数据库至目标端 OceanBase 数据库 MySQL 租户的数据迁移任务。您可以通过结构迁移、全量迁移和增量同步等,无缝迁移源端数据库的存量业务数据和增量数据至 OceanBase 数据库 MySQL 租户。TiDB 数据库支持在线事
清华大学—中国医药集团有限公司医药创新联合研究院正式揭牌
报告要点继续做好重点传染病防控。居民医保人均财政补助标准提高30元。促进医保、医疗、医药协同发展和治理。推动基本医疗保险省级统筹,完善国家药品集中采购制度,强化医保基金使用常态化监管,落实和完善异地就医结算。健康,紧密关联着
相关文章
推荐文章
发表评论
0评