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

深圳网站建设toolcat如何加强网站信息管理建设

深圳网站建设toolcat,如何加强网站信息管理建设,wordpress主题删不掉,怎么申请小程序题目描述 找出字符串中第一个匹配项的下标 给你两个字符串 haystack 和 needle #xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标#xff08;下标从 0 开始#xff09;。如果 needle 不是 haystack 的一部分#xff0c;则返回 -1 。 示例 1请你在 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 104haystack 和 needle 仅由小写英文字符组成 解法 暴力解法 暴力解法遍历haystack如果找到与needle第一个字母相同的再继续比较后面的字符 java代码 class Solution {public int strStr(String haystack, String needle) {// 遍历haystackfor (int i 0; i haystack.length(); i) {// 找到了与needle第一个字母相同的if (haystack.charAt(i) needle.charAt(0)) {// 如果needle长度为1直接返回if (needle.length() 1) {return i;}// 继续与needle后面的比较boolean isEqual true;for (int j 1; j needle.length(); j) {if (i j haystack.length() || haystack.charAt(i j) ! needle.charAt(j)) {isEqual false;break;}}if (isEqual) {return i;}}}return -1;} }复杂度 时间复杂度O(n × m)其中 n 是字符串 haystack 的长度mmm 是字符串 needle 的长度空间复杂度O(1) KMP算法 KMP算法比较复杂需要大量篇幅。推荐代码随想录的讲解简单透彻KMP算法 java代码 class Solution {/*** KMP解法** param haystack* param needle* return*/public int strStr(String haystack, String needle) {if(needle.length()0){return 0;}// 得到next数组int[] next new int[needle.length()];getNext(next, needle);int j -1;for(int i 0; ihaystack.length();i){// 如果遇到后缀不相等就回溯while(j0 haystack.charAt(i) ! needle.charAt(j1)){j next[j];}// 如果相等就把j向后移动if(haystack.charAt(i)needle.charAt(j1)){j;}// 模式字符串遍历完时全部匹配返回结果if(jneedle.length()-1){return (i-needle.length()1);}}return -1;}/*** KMP算法辅助函数找到前缀表的next数组* 思路这里使用前缀表统一减一的操作来找next数组* 定义两个指针i和jj指向前缀终止位置严格来说是终止位置减一的位置i指向后缀终止位置与j同理* 初始化int j -1; next[0] j;* 前后缀不相同处理如果 模式串 s 的s[i] 与 s[j1]不相同也就是遇到前后缀末尾不相同的情况就要向前回溯* 前后缀相同同时向后移动i 和j同时还要将j前缀的长度赋给next[i], 因为next[i]要记录相同前后缀的长度** param s* return*/private void getNext(int[] next, String s) {int j -1;next[0] j;for (int i 1; i s.length(); i) { // 注意i从1开始// 如果不相等要进行回溯注意要一直进行回溯所以用whilewhile (j 0 (s.charAt(i) ! s.charAt(j 1))) {// next[j]就是记录着j包括j之前的子串的相同前后缀的长度要找 j1前一个元素在next数组里的值就是next[j]j next[j];}if(s.charAt(i)s.charAt(j1)){j;}next[i] j;}} }复杂度 时间复杂度O(nm)空间复杂度O(m)
http://www.zqtcl.cn/news/395713/

相关文章:

  • 深圳网站建设公司元红河网站建设代理
  • 商丘河南网站建设Wordpress加720云vr
  • 上海网站建设公司网站建设网络推广费用高吗
  • 南宁学做网站百度电脑版
  • 公司网站建设工作通知怎样看一个网站做的网络广告
  • 普洱市住房和城乡建设局网站最有创意的广告设计
  • 网站开发者常见问题网站建设鸿儒
  • 米方科技网站建设个人可以做外贸网站吗
  • 如何做别人网站镜像自建wordpress主题
  • 临沂网站制作平台网站开发的软硬件环境
  • 假冒中国建设银行的网站网站开发 避免 字段变化 代码
  • 如何取消网站备案搜索seo怎么优化
  • 网站备案系统验证码出错网站的电子画册怎么做
  • 厦门企业网站建设方案企业网站硬件设计
  • 做网站推广的方法有哪些高级服装定制网站
  • 网站的百度地图怎么做的广告设计与制作发展趋势
  • 东莞网站建设兼职平面磨床东莞网站建设
  • 北京购物网站建设佛山外贸网站建设咨询
  • 网站图片在手机上做多大最清晰wordpress 表情拉长
  • 深圳住房宝安和建设局网站做网站的软件是是什么
  • 义乌网站建设方式抖音珠宝代运营
  • 郑州 手机网站制作广州网站优化地址
  • 国外效果图网站2022百度seo优化工具
  • 品牌网站建设 磐石网络官方网站网络科技公司 网站建设
  • 厦门启明星网站建设学校网站模板 中文
  • 高端手机网站平台深圳网上申请个人营业执照
  • 沈阳怎么做网站西亚网站建设科技
  • 做外贸免费的网站有哪些专业简历制作
  • 园林景观设计网站推荐国内wordpress主题
  • 一流的免费网站建设摄影网站源码