中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

廣州公司網(wǎng)站制作招聘信息網(wǎng)站關(guān)鍵詞優(yōu)化的價(jià)格

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

28 實(shí)現(xiàn) strStr()

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

思路

首先是模式串匹配問(wèn)題,需要先在hatstack(文本串)中找到needle子串(模式串),然后再去考慮求這個(gè)索引。第一個(gè)問(wèn)題就涉及到KMP算法。KMP的經(jīng)典思想就是:當(dāng)出現(xiàn)字符串不匹配時(shí),可以記錄一部分之前已經(jīng)匹配的文本內(nèi)容,利用這些信息避免從頭再去做匹配。
以下代碼隨想錄文字詳細(xì)說(shuō)明了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開(kāi)始 因?yàn)橐容^ 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# 第二步 求下標(biāo)索引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是因?yàn)閖初始值為-1j = next[j] # next數(shù)組起作用了 找下一個(gè)匹配的位置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(寫(xiě)算法題不推薦)

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

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

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

相關(guān)文章:

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