題目:對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置(從0開始)。如果不存在,則返回-1
。
思路:很簡單,看**就能懂(python處理字元真的優勢很大),主要是注意一些細節
**:
class solution:
"""@param: source: source string to be scanned.
@param: target: target string containing the sequence of characters to match
@return: a index to the first occurrence of target in source, or -1 if target is not part of source.
"""def strstr(self, source, target):
# write your code here
if(source==none)or(target==none) :
return -1
else:
if target in source:
return (source.index(target))
else:
return (-1)
字串查詢
問題描述 對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。解決思路 採用雙重for迴圈解決,思路清晰,較容易寫,但效率不高,另外一種方法是用kmp演算法,效率較高。需注意邊界條件,...
字串查詢
字串查詢演算法中,最著名的兩個是kmp演算法 knuth morris pratt 和bm演算法 boyer moore 兩個演算法在最壞情況下均具有線性的查詢時間。但是在實用上,kmp演算法並不比最簡單的c庫函式strstr 快多少,而bm演算法則往往比kmp演算法快上3 5倍。但是,最壞的情況下...
字串查詢
對於乙個給定的 source 字串和乙個 target 字串,你應該在 source 字串中找出 target 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。樣例 1 輸入 source source target target 輸出 1 樣例解釋 如果source裡沒有包含target的...