1
正規表現を使用して文字列s
の中に繰り返し文字列を見つけると、次のようなJavaコードを記述しました。今、私はそれの複雑さを見いだそうとします、もし誰かがそれの複雑さを知っているなら、私に教えてください。Javaでの正規表現の時間複雑度
String s = "ABCABCAAAABBBBCCAAABCGABCABC";
Pattern pattern = Pattern.compile("(?:([ABC])(?!\\1)([ABC])\\1\\2)+");
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
System.out.print("FOUND");
}
「推奨を求める」とマークされている理由はわかりませんが、OPが問題を解決するために多くのことを行ったようには見えません。 – chrylis
matcher.find()がどのように動作するかを調べる必要があります。どのように文字列を検索し、いつ停止しますか? – Sedrick
私は野生の推測を行い、それがmatcher.find()の複雑さと等しいと言うでしょう – Sedrick