1100 字串查詢

2021-10-17 10:47:05 字數 601 閱讀 2658

description

給定兩個字串a、b,求b在a**現的位置.

input

第一行為乙個字串a,長度大於等於1小於等於100000。

第二行為乙個字串b,長度大於等於1小於等於1000。

output

乙個整數,b在a**現的位置,若b不是a的字串,輸出-1。

sample input

abababc ababc

sample output

#include

#include

#include

#include

using

namespace std;

intmain()

i++;}

printf

("%d\n"

,flag)

;return0;

}

2 字串查詢

kmp演算法 kmp演算法的關鍵是利用匹配失敗後的資訊,儘量減少模式串與主串的匹配次數以達到快速匹配的目的。具體實現就是實現乙個next 函式,函式本身包含了模式串的區域性匹配資訊。時間複雜度o m n 通過getnext 實現部分匹配值,然後利用kmp演算法計算是否匹配。如下 package li...

13 字串查詢

對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。說明在面試中我是否需要實現kmp演算法?樣例如果 source source 和 target target 返回 1。如果 sou...

習題 13 字串查詢II

輸入兩個字串 分兩行輸入 判斷第二個在第乙個裡出現了多少次 第二個字串允許使用萬用字元 第乙個字串不出現 輸入 aabczaecbca ccabce a?c輸出 4難度 very easy include stdafx.h include stdio.h include string.h defin...