国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

廣州公司網站制作招聘信息網站關鍵詞優(yōu)化的價格

廣州公司網站制作招聘信息,網站關鍵詞優(yōu)化的價格,WordPress整站搬家插件,網頁網站關系28 實現(xiàn) strStr() 實現(xiàn) strStr() 函數(shù)。 給定一個 haystack 字符串和一個 needle 字符串,在 haystack 字符串中找出 needle 字符串出現(xiàn)的第一個位置 (從0開始)。如果不存在,則返回 -1。 示例 1: 輸入: haystack “hello”, needle “l(fā)l” 輸出: 2 示例…

28 實現(xiàn) strStr()

實現(xiàn) strStr() 函數(shù)。
給定一個 haystack 字符串和一個 needle 字符串,在 haystack 字符串中找出 needle 字符串出現(xiàn)的第一個位置 (從0開始)。如果不存在,則返回 -1。
示例 1: 輸入: haystack = “hello”, needle = “l(fā)l” 輸出: 2
示例 2: 輸入: haystack = “aaaaa”, needle = “bba” 輸出: -1
說明: **當 needle 是空字符串時,我們應當返回什么值呢?這是一個在面試中很好的問題。 對于本題而言,當 needle 是空字符串時我們應當返回 0 **。這與C語言的 strstr() 以及 Java的 indexOf() 定義相符。

思路

首先是模式串匹配問題,需要先在hatstack(文本串)中找到needle子串(模式串),然后再去考慮求這個索引。第一個問題就涉及到KMP算法。KMP的經典思想就是:當出現(xiàn)字符串不匹配時,可以記錄一部分之前已經匹配的文本內容,利用這些信息避免從頭再去做匹配。
以下代碼隨想錄文字詳細說明了KMP算法:
https://www.programmercarl.com/0028.%E5%AE%9E%E7%8E%B0strStr.html#%E6%80%9D%E8%B7%AF

解法一-前綴表(減一)

class Solution(object):# 第一步 首先要求next數(shù)組def getNext(self, next, s): # s表示模式串# 初始化j = -1next[0] = jfor i in range(1, len(s)): # 注意i從1開始 因為要比較 i 和 j是否相同# 前后綴不相同 while j>=0 and s[i]!=s[j+1]:j = next[j] # j回退# 前后綴相同if s[i]==s[j+1]:j += 1 # i和j都加1next[i] = j# 第二步 求下標索引def strStr(self, haystack, needle):""":type haystack: str:type needle: str:rtype: int"""if not needle:return 0next = [0]*len(needle) # 初始化nextself.getNext(next, needle)j = -1for i in range(len(haystack)):while j >= 0 and haystack[i]!=needle[j+1]: # j+1是因為j初始值為-1j = next[j] # next數(shù)組起作用了 找下一個匹配的位置if haystack[i]==needle[j+1]: # 匹配到字符相同j += 1# 判斷在文本串里出現(xiàn)了模式串if j == len(needle) - 1:return i - len(needle) + 1 # 返回索引return -1

暴力法

class Solution(object):def strStr(self, haystack, needle):""":type haystack: str:type needle: str:rtype: int"""m, n = len(haystack), len(needle)for i in range(m):if haystack[i:i+n] == needle:return ireturn -1   

使用index(寫算法題不推薦)

class Solution:def strStr(self, haystack: str, needle: str) -> int:try:return haystack.index(needle)except ValueError:return -1

使用find(寫算法題不推薦)

class Solution:def strStr(self, haystack: str, needle: str) -> int:return haystack.find(needle)
http://aloenet.com.cn/news/38012.html

相關文章:

  • 蘇州專業(yè)網站建設開發(fā)石家莊seo管理
  • 網站系統(tǒng)安全保護等級是必須做的seo獨立站優(yōu)化
  • 88黃頁企業(yè)名錄長沙靠譜關鍵詞優(yōu)化服務
  • 用phpmysql做圖書網站寰宇seo
  • 可以做ppt的網站有哪些內容北京百度seo排名點擊軟件
  • 什么是品牌設計重慶做優(yōu)化的網絡公司
  • 自由策劃網站建設一個新產品策劃方案
  • 游戲服務器網站seo推廣招聘
  • 做網站服裝app試分析網站推廣和優(yōu)化的原因
  • 成品網站源碼免費小說網站排名
  • 網站空間在哪買好微信管理系統(tǒng)登錄入口
  • 外貿網站如何做的好處站長工具seo綜合查詢怎么使用的
  • 手機網站推薦深圳seo優(yōu)化服務
  • 武漢網站優(yōu)化方案網絡推廣十大平臺
  • 怎樣獲得做網站的客戶信息發(fā)布平臺推廣有哪些
  • 濰坊仿站定制模板建站圖片外鏈上傳網站
  • 實名網站審核中心網站建設與網頁設計制作
  • 網站建設公司巨頭泰州seo推廣
  • 網站設計 app開發(fā)優(yōu)化關鍵詞排名公司
  • 網站制作論壇網站推廣怎么弄
  • 松山湖仿做網站關聯(lián)詞有哪些四年級
  • 中國建設銀行官網站代發(fā)工資濰坊關鍵詞優(yōu)化軟件
  • 中國建設銀行濟南招聘信息網站google搜索app下載
  • WordPress金融網站seo課程排行榜
  • 視頻網站如何做seo如何做電商賺錢
  • 四川省建設信息網站貴州seo學校
  • 南昌網站建設培訓班seo優(yōu)化基礎教程pdf
  • qq整人網站怎么做百度首頁百度一下
  • 新鄉(xiāng)營銷型網站建設產品營銷推廣策略
  • 百度站長怎么做網站維護二級域名查詢入口