0
試圖寫我自己的快速模式匹配算法。不想使用語言特定的解決方案。我專注於編寫算法。這是因爲我正在閱讀不同的技術來進行字符串匹配。有些複雜但非常有趣,像拉賓卡布等 我想出了這種方法,它是快速和線性的。它適用於我嘗試過的不同輸入。所以我在想,有沒有什麼理由不應該使用這種方法而不是非常熟悉的方法。基本上我正在拍攝一段文字,並與該模式的相應字符進行比較 - 一次一個。另外,如果有人能指出我的錯誤 - 這將會很棒。謝謝您的答覆和意見提前:)字符串匹配替代方法
public static boolean patternMatch(String pattern, String text)
{
if(pattern == null)
return true;
if(text == null)
return false;
char[] patternArray = pattern.toCharArray();
char[] textArray = text.toCharArray();
int length = pattern.length();
int j = 0;
for(char t : textArray)
{
if(t == patternArray[j])
{
j++;
if(j == length)
return true;
}
else {
j = 0;
if(t == patternArray[j]) j++;
}
}
return false;
}
該方法的要求是什麼?你沒有發佈,所以不可能說它是好還是壞。你能舉一些你想要完成的例子嗎? – 2014-09-05 02:35:02
控制問題:如果文本包含重複序列(如「xyxyz」並將其與「xyz」匹配),那麼您的方法會按照您的要求做什麼? – 2014-09-05 02:36:00
您的編程語言或運行時是否包含像IndexOf或Contains這樣的字符串方法?如果是這樣,你爲什麼不使用它們? – 2014-09-05 02:36:57