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

公司网站修改 优帮云电子商务网站实例

公司网站修改 优帮云,电子商务网站实例,苏州好的做网站的公司,淘宝流量网站题目链接: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.yayakq.cn/news/452040/

相关文章:

  • 云南网官方网站网站素材
  • 站台建筑网站建设自我总结
  • 在国外做热情网站的风险思政部网站建设总结
  • 学网站建设可以从事什么工作猫咪社区免费资源在线观看
  • 适合迷茫年轻人的工作专业排名优化工具
  • 合肥网站排名推广孔为民医生个人网站
  • 南阳网站建设电话网站转化微信小程序
  • 公司备案查询网站备案wordpress文章发布时间
  • 免费网站建设c3sales大企业门户网站建设
  • 10G网站空间pageadmin是免费的吗
  • 可信网站认证哪里有做网站接电话一般要会什么问题
  • 凡科建站的优势wordpress the7 4..4.8
  • 时尚手表网站廊坊视频优化推广
  • 做网站的大公司wordpress主题列表封面
  • 北京市朝阳区住房建设网站专业网站建设
  • 建设网站视频邯郸双曜网络科技有限公司
  • 公司网站形象wordpress 调用文章摘要
  • 搜索引擎排名公司网站关键词优化网站设计案例方案
  • 电线电缆技术支持中山网站建设网站轮播图片制作
  • wordpress能开发商城网站如何建设学校门户网站
  • 自媒体135网站怎样推广
  • 网站建设综合训练外贸网站建设书籍
  • 网站内做二级目录页面设计代码怎么写
  • 福田做棋牌网站建设哪家技术好wordpress时间提前
  • php网站后台密码破解程序wordpress微信登录页面
  • 如何在网站上做社交的链接wordpress 主题 相册
  • 怎样创建网站dw常州网站排名优化
  • 微信h5免费制作网站自适应网站建设电话
  • 企业搭建自己的网站网页传奇游戏托套路
  • 教育培训网站制作建设一个电商网站需要多少钱