最簡單原始的KMP

2022-08-03 17:24:17 字數 763 閱讀 5611

nefu197:關鍵字檢索

輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括一段文字(中間不含空格,長度不超過1000),和乙個關鍵資訊字串(長度不超過10)

輸出這段文字裡面是否有關鍵字串,如果有則輸出yes,否者輸入no,具體細節見樣例。

3

songpanda pan

hudzpdgj huz

aabdcc ad

case #1: yes

case #2: no

case #3: no

1 #include 2 #include 3 #include 

4using

namespace

std;56

void get_next(char t,int

next)717

else

18 j=next[j];19}

20}21int kmp(char s,char

t)22

35if(j>=len1)

36return1;

37else

38return0;

39}4041

intmain()

4256}57

//cout << "hello world!" << endl;

58return0;

59 }

原始與簡單

簡單是計算機從業者,特別是軟體開發者務必遵循的法則,因為軟體系統沒有物理定律的約束,具有難以想象的影響擴散能力。簡單性與系統規模 新舊確實相關但並不成正比,有時甚至正交。先進手段也並不都會削弱靠譜性,有些技術本身就是為提高可靠性服務的,諸如數字通訊在諸多層檢驗機制的保證下能夠比模擬通訊具備更好的容錯...

KMP演算法的next陣列最簡單粗暴的掌握

kmp演算法 又稱看 演算法 我瞎說的 這個演算法的引入極大地優化了字串匹配的匹配的效率。是乙個十分著名的演算法。它的原理就是通過給要匹配的字串加乙個next陣列,以這個陣列來作為它的回溯指導,減去不必要的回溯。那麼首先來看一下next陣列的規則是什麼,我簡單概括一下,就是判斷當前位置的字尾有無字首...

結繩計數 最原始的備忘錄

歡迎來到神奇的01世界 上古結繩而治,後世聖人易之以書契,百官以治,萬民以察。周易 繫辭 前面講到手指計數和石子計數。手指 隨身攜帶 拿出來就是,但不便存數,沒人會常年比著乙個手勢 石子既可攜帶又可存數,但數量一多,難免就重了,而且攜帶時也無法保留石子間的拓撲關係,其實並不便攜。聰明的先人想到在繩子...