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

php网站开发作业南京百度网站快速优化

php网站开发作业,南京百度网站快速优化,wordpress 主题 二次元,惠州网站建设3wwwnet题目链接:28. 找出字符串中第一个匹配项的下标 题目描述 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分&#xff…

题目链接:28. 找出字符串中第一个匹配项的下标

题目描述

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回  -1 

示例 1:

输入:haystack = "sadbutsad", needle = "sad"

输出:0

解释:"sad" 在下标 0 和 6 处匹配。

第一个匹配项的下标是 0 ,所以返回 0 。

示例 2:

输入:haystack = "leetcode", needle = "leeto"

输出:-1 解释:"leeto" 没有在 "leetcode" 中出现,所以返回 -1 。

提示:

  • 1 <= haystack.length, needle.length <= 104
  • haystack 和 needle 仅由小写英文字符组成

文章讲解:代码随想录

视频讲解:帮你把KMP算法学个通透!(理论篇)

题解1:暴力法

思路:外层循环遍历字符串,内层循环判断是否匹配。

/*** @param {string} haystack* @param {string} needle* @return {number}*/
var strStr = function(haystack, needle) {for (let i = 0; i < haystack.length - needle.length + 1; i++) {let j = i;let flag = true;for (let k = 0; k < needle.length; k++) {if (haystack[j++] !== needle[k]) {flag = false;break;}}if (flag) {return i;}}return -1;
};

分析:时间复杂度为 O(n²),空间复杂度为 O(1)。

题解2:KMP

思路:使用 KMP 算法来进行字符串模式匹配,也是这道题目的标解。先计算出 next 数组(即子串最长公共前后缀的前缀表),再借助 next 数组进行模式匹配。

/*** @param {string} haystack* @param {string} needle* @return {number}*/
var strStr = function(haystack, needle) {// 计算前缀表const next = [0];// i 为后缀末尾,j 为前缀末尾let j = 0;for (let i = 1; i < needle.length; i++) {while (j > 0 && needle[i] !== needle[j]) {j = next[j - 1];}if (needle[j] === needle[i]) {j++;}next[i] = j;}// 字符串模式匹配j = 0;for (let i = 0; i < haystack.length; i++) {while (j > 0 && haystack[i] !== needle[j]) {j = next[j - 1];}if (haystack[i] === needle[j]) {j++;}if (j === needle.length) {return i - needle.length + 1;}}return -1;
};

分析:设原字符串长度为 n,匹配的模式串长度为 m,时间复杂度为 O(n + m),空间复杂度为 O(m)。

收获

学习了 KMD 算法,写代码还不熟练,需要多多练习。

http://www.rdtb.cn/news/13520.html

相关文章:

  • 怎样获得做网站的客户网站改版公司哪家好
  • 中国建设银行网站上不去百度一下就知道官网
  • 电子商务类网站模板seo诊断分析在线工具
  • 网站导航如何做半透明百度网站名称和网址
  • 广州网站建设网站建设无锡seo
  • wordpress安装卡死阳泉seo
  • wordpress 摄影 中文常用seo站长工具
  • form e哪个网站做软文写作兼职
  • 广告公司名称怎么起百度快速优化排名软件
  • 做俄语网站建设爱战网关键词查询网站
  • 小说网站开发 项目计划书百度搜索推广官网
  • 教育网站集群建设方案seo发帖论坛
  • 丽水哪里有做网站的公司4000-262-班级优化大师怎么加入班级
  • 苏州建设招聘信息网站google play应用商店
  • 做网站可以参考的网站aso优化贴吧
  • 一个专门做试题的网站怎么做网址
  • 如何制作淘客导购网站客户关系管理
  • 微网站界面设计汕头网站建设公司
  • 免费做图片的网站手机百度经验首页登录官网
  • 找合伙人的网站做淘宝百度top排行榜
  • 网站建设合同 简单新品上市怎么做宣传推广
  • 如何做网站的登录注册电脑培训中心
  • 网站密码怎么做上海搜索引擎优化公司排名
  • wordpress 链接提交表单seo工具优化软件
  • 网站建设公司yu电商代运营一般收多少服务费
  • 网站的建设与管理系统深圳网络推广优化
  • 网站建设需要服务器么域名注册商
  • 衡水做网站公司重庆百度seo代理
  • 网站商城支付接口百度推广客服投诉电话
  • 网站制作 网站建设粤语seo是什么意思