当前位置: 首页 > wzjs >正文

做市级网站需要什么社区门户网站建设方案

做市级网站需要什么,社区门户网站建设方案,杭州设计网站的公司,衡水网站建设制作文章目录 习题2223.构造字符串的总得分和3031.将单词恢复初始状态所需的最短时间 II 灵神代码模版 区别与KMP算法 KMP算法可用于求解在线性时间复杂度0(n)内求解模式串p在主串s中匹配的未知当然,由于在KMP算法中,预处理求解出了next数组,也就…

文章目录

  • 习题
    • 2223.构造字符串的总得分和
    • 3031.将单词恢复初始状态所需的最短时间 II

灵神代码模版

  • 区别与KMP算法

    • KMP算法可用于求解在线性时间复杂度0(n)内求解模式串p在主串s中匹配的未知
    • 当然,由于在KMP算法中,预处理求解出了next数组,也就是可以求解出字符串p的真后缀与真前缀的最大公共前缀LCPnext[i]表示字符串p[0] 到 p[i] 的真前缀和真后缀的LCP
  • 拓展KMP算法(Z函数):

    • 用于求解主串s的后缀与模式串p的LCP
    • 当然,预处理过程中的z[i]可用于求解字符串p[i:] 与字符串p的LCP

下面给出求解Z数组的python 代码

# 计算并返回 z 数组,其中 z[i] = |LCP(s[i:], s)|
def calc_z(s: str) -> List[int]:n = len(s)z = [0] * n# box_l和box_r维护的是一个区间,# 也就是s[box_l:box_r+1]与s[box_r]匹配box_l = box_r = 0for i in range(1, n):# 当i在区间内,就可以利用先前的信息if i <= box_r:# 这个z[i-box_l] 十分巧妙z[i] = min(z[i - box_l], box_r - i + 1)while i + z[i] < n and s[z[i]] == s[i + z[i]]:box_l, box_r = i, i + z[i]z[i] += 1z[0] = nreturn z
  • 重点分析为什么落在区间的时候,有z[i]=min(z[i - box_l],box_r - i + 1)
    • 首先,对于i-box_l,是左边的情况,我们得时刻记得s[box_l:box_r+1]与s[box_r]匹配,所以,我们更加关注从s[i]开始的情况,也就是s[box_l]开始的情况,所以可以直接借鉴
    • 对于box_r-i+1,是对于区间提供信息的长度限制,不能超过box_r-i+1,因为超过这个范围的信息没有记录

习题

2223.构造字符串的总得分和

2223.构造字符串的总得分和

在这里插入图片描述
在这里插入图片描述

  • 思路分析:拓展kmp算法模版题目
class Solution:def sumScores(self, s: str) -> int:# 拓展kmp算法的模版题目n = len(s)z = [0]*n box_l,box_r =0,0for i in range(1,n):if i <= box_r:z[i] = min(z[i-box_l],box_r-i+1)while i + z[i] < n and s[z[i]] == s[i + z[i]]:box_l,box_r = i,i+z[i]z[i] += 1z[0] = n return sum(z)

3031.将单词恢复初始状态所需的最短时间 II

3031.将单词恢复初始状态所需的最短时间 II

在这里插入图片描述
在这里插入图片描述

灵神题解

  • 思路分析:我们需要考虑原始序列,与当前位置的后缀的最长公共前缀的长度关系,如果z[i]>=n-i,并且i%k==0,就说明可以通过i//k次就可以通过恢复原型,当然,如果遇到无法恢复的情况,我们至多 ⌈ n k ⌉ \left\lceil\frac{n}{k}\right\rceil kn次即可恢复
class Solution:def minimumTimeToInitialState(self, word: str, k: int) -> int:# 拓展kmp算法问题# 反正就是查看z[k]是否等于k ,一直找n = len(word)z = [0]*n box_l,box_r = 0,0for i in range(1,n):if i <= box_r:z[i] = min(z[i-box_l],box_r-i+1)while i + z[i] < n and word[z[i]] == word[i+z[i]]:box_l,box_r = i,i+z[i]z[i] += 1if i % k == 0 and z[i] >= n - i:return i // k# 如果复原不了,那也只是 n // k 的向上取整return  (n-1) // k + 1

文章转载自:

http://tPgsDos7.Ljzss.cn
http://BWCUyqHr.Ljzss.cn
http://JmYRcN2D.Ljzss.cn
http://7ddJc3KD.Ljzss.cn
http://BDJM62Jx.Ljzss.cn
http://0JNMyyEQ.Ljzss.cn
http://XaoWNGCF.Ljzss.cn
http://geCXUFDM.Ljzss.cn
http://cew7w5Mu.Ljzss.cn
http://pbHx7JTR.Ljzss.cn
http://KK9POs4l.Ljzss.cn
http://VR6SYshT.Ljzss.cn
http://wE88lQN6.Ljzss.cn
http://Y99FdDab.Ljzss.cn
http://4kZI6FvF.Ljzss.cn
http://ZJ5i1RMt.Ljzss.cn
http://dEvSr6eT.Ljzss.cn
http://PBU7oeim.Ljzss.cn
http://LzYHGIVc.Ljzss.cn
http://RjpKJ1R8.Ljzss.cn
http://BaSbKHpH.Ljzss.cn
http://OXHKKtaT.Ljzss.cn
http://C550ZA6K.Ljzss.cn
http://wPwF7ZOS.Ljzss.cn
http://1tAPpfPO.Ljzss.cn
http://lqL7h3mn.Ljzss.cn
http://nIayOhPR.Ljzss.cn
http://NhIyf6y7.Ljzss.cn
http://TC8Gs6GD.Ljzss.cn
http://k9NjCzrq.Ljzss.cn
http://www.dtcms.com/wzjs/746395.html

相关文章:

  • 做网站公司 陕西渭南做网站要要多少钱
  • 公司网站制作流程网站案例 中企动力技术支持
  • z怎么做优惠券网站什么是网站实施
  • 企业网站需要多大带宽重庆网站建设重庆零臻科技价
  • php在电子商务网站建设中的应用研究 戴书浩昆明城乡建设局网站
  • 用WordPress建什么站好鹤壁网站seo优化
  • 河南网站建站推广国外经典设计网站
  • 免费网站一级域名注册了解网站的建设心得
  • 网站seo的关键词排名怎么做的黑龙江省建设协会网站首页
  • 洛阳网站建设培训wordpress 运行时间
  • 固原地网站seowordpress打不开
  • 公司网站费用计入什么科目朝阳网络信息有限公司
  • 四川省查询建设人员注册证书网站免费平面设计软件有哪些
  • 烟台网站推广效果好手机网站公司哪家好
  • 建设银行签名通在网站哪里下载网站后台登陆口
  • 专做动漫的网站做企业官网哪家公司好
  • 织梦网站模板如何安装教程视频教程网站制作公司中企动力推荐
  • 成都网站设计制作价格谷歌优化是什么意思
  • 深圳网页制作与网站建设方案维护网站图怎么做才能小而清晰度
  • 做自己视频教程的网站企业建设营销网站的基本步骤
  • 怎么做网站弹窗通知256m内存 wordpress
  • 我谁知道在哪里可以找人帮忙做网站wix做中文网站怎么样
  • 建一个自己的网站需要多少钱深圳创纪录暴雨19小时
  • 一级a做爰片不卡免费网站查看网站是否wordpress
  • 镇江网站制作公司天工网工程新希望官网
  • 汝阳县住房与城乡建设局建局网站北京网站建设招标
  • 特定ip段访问网站代码中国住房和城乡建设部网站证书查询
  • 网站内容建设包括青岛seo
  • 优秀flash网站欣赏个人网页制作设计图
  • 垂直门户网站怎么做网站首页动图怎么做