a-z
、.
、*
、および からの文字を含む別の文字列を指定すると、これが問題になりますa-z
。where*
はその前の文字を削除できます。それ以外の場合、* はスキップされ、.
任意の 1 文字に一致します。問題は、最初の文字列が 2 番目の文字列と一致するかどうかです。
注:これは私が見つけた問題のステートメントですが、この場合、文字は正規表現*
と同じ機能を実行します。?
例:
isMatch("a*", "") = true; //"a*" could be "a" or an empty string ""
isMatch(".", "") = false;
isMatch("ab*", "a") = true;
isMatch("a.", "ab") = true;
isMatch("a", "a") = true;
この問題は、わずかに変更された編集距離を使用して既に解決していますが、これは 2D 動的計画法のアプローチしか知りません。この問題の線形ソリューションが存在するかどうかは疑問ですが、dp アプローチなしで解決できるのでしょうか?