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

佛山网站开发招聘合肥建设学校网站

佛山网站开发招聘,合肥建设学校网站,wordpress添加子项目,一个完整的网站制作流程28 实现 strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串#xff0c;在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在#xff0c;则返回 -1。 示例 1: 输入: haystack “hello”, needle “ll” 输出: 2 示例…28 实现 strStr() 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在则返回 -1。 示例 1: 输入: haystack “hello”, needle “ll” 输出: 2 示例 2: 输入: haystack “aaaaa”, needle “bba” 输出: -1 说明: **当 needle 是空字符串时我们应当返回什么值呢这是一个在面试中很好的问题。 对于本题而言当 needle 是空字符串时我们应当返回 0 **。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。 思路 首先是模式串匹配问题需要先在hatstack文本串中找到needle子串模式串然后再去考虑求这个索引。第一个问题就涉及到KMP算法。KMP的经典思想就是当出现字符串不匹配时可以记录一部分之前已经匹配的文本内容利用这些信息避免从头再去做匹配。 以下代码随想录文字详细说明了KMP算法 https://www.programmercarl.com/0028.%E5%AE%9E%E7%8E%B0strStr.html#%E6%80%9D%E8%B7%AF 解法一-前缀表减一 class Solution(object):# 第一步 首先要求next数组def getNext(self, next, s): # s表示模式串# 初始化j -1next[0] jfor i in range(1, len(s)): # 注意i从1开始 因为要比较 i 和 j是否相同# 前后缀不相同 while j0 and s[i]!s[j1]:j next[j] # j回退# 前后缀相同if s[i]s[j1]:j 1 # i和j都加1next[i] j# 第二步 求下标索引def strStr(self, haystack, needle)::type haystack: str:type needle: str:rtype: intif not needle:return 0next [0]*len(needle) # 初始化nextself.getNext(next, needle)j -1for i in range(len(haystack)):while j 0 and haystack[i]!needle[j1]: # j1是因为j初始值为-1j next[j] # next数组起作用了 找下一个匹配的位置if haystack[i]needle[j1]: # 匹配到字符相同j 1# 判断在文本串里出现了模式串if j len(needle) - 1:return i - len(needle) 1 # 返回索引return -1暴力法 class Solution(object):def strStr(self, haystack, needle)::type haystack: str:type needle: str:rtype: intm, n len(haystack), len(needle)for i in range(m):if haystack[i:in] needle:return ireturn -1 使用index写算法题不推荐 class Solution:def strStr(self, haystack: str, needle: str) - int:try:return haystack.index(needle)except ValueError:return -1使用find写算法题不推荐 class Solution:def strStr(self, haystack: str, needle: str) - int:return haystack.find(needle)
http://www.huolong8.cn/news/156938/

相关文章:

  • 网站建设策划 优帮云手机网站 代码
  • 找做企业网站网站制作老了
  • 陕西建设注册中心网站现代化的中国风网站
  • 江西省新的建设厅三类人员网站体育设施建设网站
  • 石家庄个人建站模板网站建设和网页设计视频教程
  • 上海网站推广方法wordpress个人博客主题2019
  • 钢材销售网站建设jsp网站开发制作
  • 网站上传工具广州百度快速优化排名
  • 手机网站快速建设七宝网站建设
  • 做网站首页图的规格宜兴做网站的联系方式
  • 个人网站建设方法和过程互联网官方网站
  • 室内设计师第一网站嘉兴模板开发建站
  • 新开最好的传奇网站阳江网上房地产官网
  • 荥阳网站建设公司哪家好网站及微站建设合同
  • 自己做的网站怎么植入erp成都建筑网站建设
  • 做网站要多少钱乾县住房和城乡建设局网站
  • 网站建设费的摊销期企业网站模板带后台
  • 西安网站建设APP开发做官网的步骤
  • 知道网站是wp程序做的如何仿站网站可信度
  • fineui 如何做网站php网站开发实例教程 源码
  • 在线教育类网站模板如何维护网站
  • ppt模板免费整套厦门百度快照优化排名
  • 不用服务器做网站网站建设与营销社团
  • 网站需求分析怎么做企业网络营销策略设计
  • 自己做网站用什么软件下载密云城市建设官方网站
  • 网站设计课程总结网站中的文字滑动怎么做的
  • 用dw做音乐网站模板网站建设平台的分析
  • 免费ppt下载网站有哪些网页4399小游戏
  • 学校英文版网站建设wordpress上传服务器域名
  • 江阴网站制作多视频网站建设