這道題注意邊界條件,提交了三次才通過。
1字串是否為null
2source為null,target不為null,返回0,而不是-1
採用的方法是最簡單的樸素模板匹配演算法。
可以accept的程式如下:
1class
solution
21else
2226}27
if(j==strlen(target))
28return i-strlen(target);
29else
30return -1;31
}32 };
可以accept的正確程式2:
1class
solution
13int target_size =strlen(target);
14int source_size =strlen(source);
15int
i, j;
16for (i = 0; i < source_size - target_size + 1; i++) 21}
22if (j ==target_size) 25}
26return -1;27
}28 };
可以accept的正確程式3:
1class
solution
16 };
字串查詢
問題描述 對於乙個給定的 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倍。但是,最壞的情況下...