先聲明,本人菜鳥一個,寫博客是為了記錄學(xué)習(xí)的過程,以及自己的理解和心得,可能有的地方寫的不好,希望大神指出。。。
創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括網(wǎng)站建設(shè)、成都網(wǎng)站制作、重慶App定制開發(fā)、小程序開發(fā)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。拋出問題
給定一個文本串test_str(被匹配的字符串)和模式串pat_str(需要從文本串中匹配的字符串),從文本串test_str中找出模式串pat_str第一次出現(xiàn)的位置,沒有的話返回 -1
暴力方式
在說kmp之前,我們先來講下“暴力方式“,也就是說我們最原始的方法?!?/p>
text_str = 'asdabcdace' pat_str = 'abcdace' def str_match(text_str,pat_str): for i in range(0,len(text_str)): j = 1 while j < len(pat_str): if text_str[i:i+j] != pat_str[0:j]: #從text_str第i個字符開始,看匹配是否成功 break #匹配失敗,直接跳出循環(huán),i+1,繼續(xù)從第一個字符匹配 j += 1 #匹配成功就繼續(xù)匹配下一個字符,知道pat_str每個字符都匹配完 if j == len(pat_str): return i return -1 print(str_match(text_str,pat_str))
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。