正则问题

作者: smatrcHendsa | 来源:发表于2019-03-18 08:34 被阅读0次

经典的递归DFS 我对递归的理解不够深啊
看到括号 应该很轻松的想到是经典的递归问题 然后只有四个符号()x| 分别判断 就行了 要考虑多个||||||中间不同的元素的处理

问题描述
  考虑一种简单的正则表达式:
  只由 x ( ) | 组成的正则表达式。
  小明想求出这个正则表达式能接受的最长字符串的长度。

例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是: xxxxxx,长度是6。
输入格式
  一个由x()|组成的正则表达式。输入长度不超过100,保证合法。
输出格式
  这个正则表达式能接受的最长字符串的长度。
样例输入
((xx|xxx)x|(x|xx))xx
样例输出
6
数据规模和约定
  峰值内存消耗(含虚拟机) < 256M
  CPU消耗 < 1000ms

#include <stdio.h>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
string str;
int si, crt;

int dfs() {
    int cnt = 0, mx = 0;
    //sum是所有的加起来  cnt的单次的
    while (crt < si) {
        char c = str.at(crt);
        if (c == '(') {
            crt++;
            cnt += dfs();
        }
        else if (c == 'x') {
            cnt++;
            crt++;
            mx = max(mx, cnt);
        }
        else if (c == '|') {
            mx = max(mx, cnt);
            cnt = 0;
            crt++;
        }
        else {
            crt++;
            break;
        }
    }
    mx = max(mx, cnt);
    return mx;
}
int main() {
    cin >> str;
    si = str.size();
    cout << dfs() << endl;
    return 0;
}

相关文章

  • 正则问题

    经典的递归DFS 我对递归的理解不够深啊看到括号 应该很轻松的想到是经典的递归问题 然后只有四个符号()x| 分别...

  • Ant Form使用总结 —— 校验

    正则校验 使用item属性rules[]字段中pattern进行正则校验,可进行多正则验证不同message 问题...

  • 机器学习 - 线性回归中的正则化

    为什么要正则化? 正则化的本质是什么? 正则化有哪些方法? 1.为什么要正则化? 正则化可以解决模型过拟合的问题,...

  • 正则表达式

    学习正则表达式之前我们得先想几个问题, 正则是干什么的?为什么要用正则?怎么去使用正则?带着这几个问题一起来开始...

  • Android正则表达式忽略大小写不生效

    问题 Android 本地过滤新增的敏感词 ,发现正则表达式不生效的问题。 下面的正则表达式可以用 在线正则测试工...

  • 2018-08-22

    Java学习随笔 正则表达式性能问题 听说正则的性能很是问题,具体的比较可以参考 http://blog.sina...

  • 我遇到一个毁灭性的问题 ·[正则 | RegExp]

    使用工具:sublime问题:使用正则替换某一部分1°正则: [ 2°原正则: [\s|\S]{0,1} 3°改进...

  • 正则表达式提取器-Jmeter

    1.关于正则表达的小问题

  • 第八届蓝桥杯 正则问题 Java A组

    描述:正则问题 考虑一种简单的正则表达式:只由 x ( ) | 组成的正则表达式。小明想求出这个正则表达式能接受的...

  • PHP正则表达式详解

    如果你有如下问题请看本文章: 正则表达式是什么? 正则表达式怎么用? 正则表达式包含哪些内容? 正则表达式相关函数...

网友评论

    本文标题:正则问题

    本文链接:https://www.haomeiwen.com/subject/bboumqtx.html