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

百度竞价渠道代理太原seo快速排名怎么样

百度竞价渠道代理,太原seo快速排名怎么样,手机网站开发学习,深圳宝安p2p网站系统的建设题目 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystac…

题目

给你两个字符串 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 仅由小写英文字符组成

Python

看到这道题的一瞬间,我就想到了Python中的find()函数,所以很快就写好了:

class Solution(object):def strStr(self, haystack, needle):return haystack.find(needle) A=Solution()
haystack ="sadbutsad"
needle ="sad"
print(A.strStr(haystack,needle))

 这样虽然简单,但数据不是很好:


C语言

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int strStr(char * haystack, char * needle);int main()
{char* haystack ="sadbutsad";char* needle ="sad";printf("%d",strStr(haystack,needle));return 0;
}//主要函数
int strStr(char * haystack, char * needle)
{int len1=strlen(haystack),len2=strlen(needle);for(int i=0;i<=len1-len2;i++){if(haystack[i]==needle[0]){if(len2==1)return i;int j=1;for(;j<len2;j++){if(haystack[j+i]!=needle[j]){break;} } if(j==len2)return i;}}return -1;
}

但结果不好:

之后,我看了KMP算法,确实巧妙。

我写的C语言代码是在每次 haystack 数组与needle数组比较元素不匹配后,在haystack上移动一位来进行重新比较,进而寻找正确位置。

而KMP算法则是每次移动若干位(根据字符串),进而缩短了时间。

KMP算法代码:

int strStr(char* haystack, char* needle) {int n = strlen(haystack), m = strlen(needle);if (m == 0) {return 0;}int pi[m];pi[0] = 0;for (int i = 1, j = 0; i < m; i++) {while (j > 0 && needle[i] != needle[j]) {j = pi[j - 1];}if (needle[i] == needle[j]) {j++;}pi[i] = j;}for (int i = 0, j = 0; i < n; i++) {while (j > 0 && haystack[i] != needle[j]) {j = pi[j - 1];}if (haystack[i] == needle[j]) {j++;}if (j == m) {return i - m + 1;}}return -1;
}/*
作者:力扣官方题解
链接:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/solutions/732236/shi-xian-strstr-by-leetcode-solution-ds6y/
来源:力扣(LeetCode)
*/

http://www.yidumall.com/news/69750.html

相关文章:

  • 高端网站建设如何收费佛山网络公司 乐云seo
  • 大连零基础网站建设教学服务nba录像回放
  • 调兵山网站建设软文推送
  • 合肥瑶海区网站建设价格seo优化顾问服务
  • 网页设计入门案例刷百度关键词排名优化
  • c 网站建设青岛seo关键字排名
  • 二级建造师证件查询全国联网对seo的理解
  • 宁波电器网站制作优化网站页面
  • 备案增加网站郑州seo顾问
  • 记的网站域名b站在哪付费推广
  • asp网站建设实录国外免费网站服务器
  • 重庆网站营销靠谱百度指数分析工具
  • 网站建设模版文档长沙网站推广seo
  • wordpress成品网站云部落青岛网站权重提升
  • 哪个网站可以领手工回家做网站推广建站
  • 做个模板网站多少钱2020年百度搜索排名
  • 网站代运营公司排名杭州排名推广
  • 服务好的网站制作建设新网站怎么做推广
  • 布吉做网站查询收录
  • 域名主机 网站建设百度推广登陆平台
  • 我想做一个小网站搞页游该怎么做大数据营销系统多少钱
  • 东莞常平疫情最新消息优就业seo
  • 在服务器网站上做跳转页面跳转页面b2b外链代发
  • 网站建设与管理用什么软件有哪些外包推广公司
  • 刮奖网站百度店铺
  • 海南网站搭建外包厦门百度代理公司
  • 做网站哪个公司营销策略包括哪些内容
  • 都匀网站制作seo外包优化服务商
  • 济南代做标书网站标志百度收录刷排名
  • 营销网站制作费用解释seo网站推广