蓝桥杯官网练习题(正则问题)

题目描述

考虑一种简单的正则表达式:

只由 x ( ) | 组成的正则表达式。

小明想求出这个正则表达式能接受的最长字符串的长度。

例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是 6。

输入描述

一个由 x()| 组成的正则表达式。输入长度不超过 100,保证合法。

输出描述

这个正则表达式能接受的最长字符串的长度。

输入输出样例

示例
输入

((xx|xxx)x|(x|xx))xx

输出

6

运行限制

java 复制代码
import java.util.Scanner;

public class Main {
  static int index=-1;
  static Scanner scan = new Scanner(System.in);
  static String str=scan.next();
    public static void main(String[] args) {
        System.out.println(dfs());
    }
    public static int dfs(){
      int max=Integer.MIN_VALUE;
      int count=0;
      while(index<str.length()-1){
        index++;
        if(str.charAt(index)=='('){
          count+=dfs();
        }
        else if(str.charAt(index)=='x'){
          count++;
        }
        else if(str.charAt(index)=='|'){
          max=Math.max(max,count);
          count=0;
        }
        else if(str.charAt(index)==')'){
          break;
        }
      }
      return Math.max(max,count);
    }
}
    • 最大运行时间:1s
    • 最大运行内存: 256M
相关推荐
千金裘换酒7 小时前
LeetCode 数组经典题刷题
算法·leetcode·职场和发展
Swift社区10 小时前
LeetCode 376 摆动序列
算法·leetcode·职场和发展
a程序小傲11 小时前
京东Java面试被问:多活数据中心的流量调度和数据同步
java·开发语言·面试·职场和发展·golang·边缘计算
测试秃头怪12 小时前
Python测试框架Pytest的参数化
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
0和1的舞者12 小时前
力扣hot100-链表专题-刷题笔记(二)
笔记·算法·leetcode·链表·职场和发展
AI前言观察者14 小时前
2026年工作简历怎么写?
人工智能·经验分享·面试·职场和发展·求职招聘
Mixtral15 小时前
2026年4款面试记录工具测评:从录音到结构化复盘
人工智能·面试·职场和发展·语音识别·语音转文字
AlenTech15 小时前
238. 除了自身以外数组的乘积 - 力扣(LeetCode)
算法·leetcode·职场和发展
-KamMinG15 小时前
亲自面试版运维面试题(按需更新)
运维·面试·职场和发展
小程同学>o<18 小时前
嵌入式之C语言面试题(一)基本概念及其它问答题
c语言·面试·职场和发展·嵌入式软件·c语言面试