Redian新闻
>
regular expression mathinc --Java写竟然超时了/。
avatar
regular expression mathinc --Java写竟然超时了/。# JobHunting - 待字闺中
t*r
1
regular expression mathinc --Java写竟然超时了/。
同样的算法c++没问题
谁能帮我看看那里怎么改进?
谢谢了!
avatar
t*r
3
public class T10 {
static boolean matchFirst(String s, String p){
System.out.println("in matchFirst: s is "+s+",p is: "+p+";");
System.out.println("s is empty "+ s.isEmpty());
System.out.println("p is empty "+ p.isEmpty());
if(s.isEmpty() ^ p.isEmpty()) return false;
if(s.isEmpty() && p.isEmpty()) return true;
return ( s.charAt(0)==p.charAt(0) || p.charAt(0)=='.' );
}
public static boolean isMatch(String s, String p) {
if (p.isEmpty() )return (s.isEmpty());


if(p.length()==1 || p.charAt(1)!='*') {
if(!matchFirst(s,p)) return false;
return isMatch(s.substring(1), p.substring(1));
} else {

if (isMatch(s, p.substring(2))) return true;
while(true){
if(isMatch(s, p.substring(2))) return true;
if(!matchFirst(s, p)) break;
s=s.substring(1);
}
}
return false;
}


public static void main(String[] args){
String s = "aaa";
String p = "ab*a";
boolean ret = isMatch(s, p);
System.out.println(ret);
}
}
avatar
p*2
4
别纠结这个了

【在 t**r 的大作中提到】
: regular expression mathinc --Java写竟然超时了/。
: 同样的算法c++没问题
: 谁能帮我看看那里怎么改进?
: 谢谢了!

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。