字串查詢

2021-09-27 06:14:26 字數 1265 閱讀 6194

對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置(從0開始)。如果不存在,則返回-1

樣例 1:

輸入: source = "source" , target = "target"

輸出:-1

樣例解釋: 如果source裡沒有包含target的內容,返回-1

樣例 2:

輸入: source = "abcdabcdefg" ,target = "bcd"

輸出: 1

樣例解釋: 如果source裡包含target的內容,返回target在source裡第一次出現的位置

在面試中我是否需要實現kmp演算法?

輸入測試資料 (每行乙個引數)如何理解測試資料?

class solution 

// write your code here

nextval.resize(target.size()+1);

getnextval1(target);

// for(auto& x : nextval)

// cout << x << " ";

cout << endl;

//return 0;

int i = 0;

int j = 0;

cout << source.size() << endl;

cout << target.size() << endl;

while((i < ( int)source.size()) && (j < ( int)target.size()))

else

cout << i << endl;

cout << j << endl;

}// cout << i << endl;

// cout << j << endl;

if(j >= target.size())

return (i - target.size());

return -1;

}void getnextval(string target)

else}}

//改進的

void getnextval1(string target)

else

}else}}

};

字串查詢

問題描述 對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。解決思路 採用雙重for迴圈解決,思路清晰,較容易寫,但效率不高,另外一種方法是用kmp演算法,效率較高。需注意邊界條件,...

字串查詢

題目 對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。思路 很簡單,看 就能懂 python處理字元真的優勢很大 主要是注意一些細節 class solution param so...

字串查詢

字串查詢演算法中,最著名的兩個是kmp演算法 knuth morris pratt 和bm演算法 boyer moore 兩個演算法在最壞情況下均具有線性的查詢時間。但是在實用上,kmp演算法並不比最簡單的c庫函式strstr 快多少,而bm演算法則往往比kmp演算法快上3 5倍。但是,最壞的情況下...