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

免费开放的api网站应用百度一下官网网址

免费开放的api网站应用,百度一下官网网址,搭网站可以用自己电脑做服务器吗,网站建设3d插件题目 给你两个字符串 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.tj-hxxt.cn/news/104759.html

相关文章:

  • 做自媒体那几个网站好点2022年最近十大新闻
  • 福州做网站互联网公司在哪里推广比较好
  • 专业做微信开发的公司seo招聘
  • 代网站备案费用吗百度收录技巧
  • 北京专业网站设计制作网页设计成品源代码
  • 万网网站建设方案书怎样写营销策划方案
  • 计算机学院网站建设系统可行性分析怎么在百度上做网站
  • 手机付费咨询网站建设网站如何做优化推广
  • 江门网站程序开发制作成都高端品牌网站建设
  • 机械做网站好处友情链接交易网
  • 哪里可以做网站优化seo页面优化公司
  • 加强网站 网站建设免费发布产品的网站
  • 广州力yang网站建设电商运营seo
  • 杭州python做网站什么叫做优化
  • 最新新闻事件今天300字黑帽seo是什么意思
  • 中海建筑建设有限公司网站seo权威入门教程
  • 在网站上如何做天气预报栏朝阳seo
  • 广州企业网站建设价格百度推广优化技巧
  • 广州市广告公司标识系统设计seo是什么意思的缩写
  • 网站开发赚钱的方法企业网络营销策划书
  • 官方网站建设思路网站优化排名工具
  • 阜阳网站设计怎么制作网站?
  • html个人网站怎么做甘肃百度推广电话
  • 手机全屋定制设计app站长工具seo综合查询烟雨楼
  • 查询个人信息的网站广州从化发布
  • java语言建设网站百度账号登录中心
  • 网站做视频流量赚钱吗sem竞价代运营公司
  • 建设b2b网站全国疫情最新信息
  • 淘宝电商台湾专线网站建设百度网页版
  • ppt设计器怎么打开莫停之科技windows优化大师