蓝桥杯-正则表达式
发布日期:2022-02-08 04:20:48
浏览次数:3
分类:技术文章
本文共 901 字,大约阅读时间需要 3 分钟。
参考
:
当我们需要同时考虑“()”和“|”时,我们发现“()”括号的作用就是讲上面的代码限定了一个范围,所以我们只需要让这段代码从一个“(”开始运行到一个“)”为止。
那么怎么才能做到这种控制呢?
我们可以分析一下样例的计算过程。
在遇到一个括号时,我们会先终止当前的计算,进入到括号里进行计算,当这一次计算结束后,我们返回这个结果继续计算。
这是一个和深搜回溯很相似的过程(还记得第四题吗)。
所以我们用深搜的方式来完成计算。在遇到一对“()”时,我们就进入一个新的函数,然后用这个函数的返回值继续计算。
#include#include using namespace std;string str;int pos, len;int dfs() { int num = 0, res = 0; while (pos < len) { if (str[pos] == '(') { pos++; num += dfs(); } else if (str[pos] == ')') { pos++; break; } else if (str[pos] == '|') { pos++; res = max(num, res); num = 0; } else { pos++; num++; } } res = max(num, res); return res;}int main() { cin >> str; int ans = 0; len = str.length(), pos = 0; ans = dfs(); cout << ans << endl; return 0;}
转载地址:https://blog.csdn.net/weixin_38960774/article/details/79413463 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年03月30日 14时13分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
王朝阳:河北高校邀请赛 -- 二手车交易价格预测决赛答辩
2019-04-27
Scratch等级考试(二级)模拟题
2019-04-27
如何在Jupyter Lab中显示pyecharts的图形?
2019-04-27
什么是Python之禅?
2019-04-27
【青少年编程】【Scratch】01 运动模块
2019-04-27
json的序列化与反序列化
2019-04-27
【第16周复盘】学习的飞轮
2019-04-27
如何利用pyecharts绘制炫酷的关系网络图?
2019-04-27
NCEPU:线下组队学习周报(007)
2019-04-27
【青少年编程】【二级】寻找宝石
2019-04-27
【组队学习】【26期】Linux教程
2019-04-27
解决 nginx: [error] open() “/usr/local/nginx/logs/nginx.pid“ failed (2: No such file or directory) 问题
2019-04-27
LeetCode-122. 买卖股票的最佳时机 II(Goland实现)
2019-04-27
LeetCode-136. 只出现一次的数字(Goland实现)
2019-04-27
go-递归实现二叉树的三种排序方式(前序、中序、后序)【详细】
2019-04-27
LeetCode-409. 最长回文串(Goland实现)
2019-04-27
LeetCode-LCP 18. 早餐组合(Goland实现)
2019-04-27
C++从入门到进阶近100本书推荐电子书pdf
2019-04-28
蓝桥杯 - [2014年第五届真题]分糖果(模拟)
2019-04-28
蓝桥杯 - [2013年第四届真题]大臣的旅费(DFS)
2019-04-28