鲜花电商网站开发,wordpress 文章排序,网站建设面试,优秀设计作品赏析题目描述 
考虑一种简单的正则表达式#xff1a;
只由 x ( ) | 组成的正则表达式。
小明想求出这个正则表达式能接受的最长字符串的长度。  例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是#xff1a; xxxxxx#xff0c;长度是6。输入
----
一个由x()|组成的正则表达式。输…题目描述 
考虑一种简单的正则表达式
只由 x ( ) | 组成的正则表达式。
小明想求出这个正则表达式能接受的最长字符串的长度。  例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是 xxxxxx长度是6。输入
----
一个由x()|组成的正则表达式。输入长度不超过100保证合法。  输出
----
这个正则表达式能接受的最长字符串的长度。  例如
输入
((xx|xxx)x|(x|xx))xx  程序应该输出
6  资源约定
峰值内存消耗含虚拟机  256M
CPU消耗   1000ms请严格按要求输出不要画蛇添足地打印类似“请您输入...” 的多余内容。所有代码放在同一个源文件中调试通过后拷贝提交该源码。
不要使用package语句。不要使用jdk1.7及以上版本的特性。
主类的名字必须是Main否则按无效代码处理。 
思路分析 代码实现 
package TEST;import java.util.Scanner;
class Main{public static int len;public static int pos;public static String s;public static void main(String[] args) {Scanner scanner  new Scanner(System.in);sscanner.nextLine();lens.length();int ansf();System.out.println(ans);scanner.close();}/*求出当前字符串自当前下标到结束能匹配的字符串的长度*/public static int f(){int ans0;int temp0;//用于保存连续的x的数量while (poslen){if(s.charAt(pos)(){pos;tempf();//等待后面的结果并累加到ans}else if(s.charAt(pos)x){pos;temp;}else if(s.charAt(pos)|){pos;ansMath.max(ans,temp);temp0;}else if (s.charAt(pos))){pos;return Math.max(ans,temp);}}return Math.max(ans,temp);}
}