(每日一练28831)题目名称:字符串转换

文盲老顾
新星创作者: 信息安全技术领域
领域专家: 数据库技术领域
2023-04-20 08:48:28

已知一个字符串a,b。 字符串b中包含特殊符号’.’,’’。 ‘.’表示该字符可以变成任意字符,’ ‘表示该字符的前一个字符可以变成任意多个。 现在我们想知道b可否通过特殊符号变成a。 a* 可以转化为a,aa,aaa,aaaa…
第一行输入字符串a.(1<=len(a)<=1000)
第二行输入字符串b.(1<=len(b)<=1000)
如果可以输出”yes”,否则输出’no’

这个题目,和 leetcode 的第 44 题一模一样了,leetcode 的描述如下

给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘’ 的正则表达式匹配。
‘.’ 匹配任意单个字符
'*’ 匹配零个或多个前面的那一个元素
所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。

那么如果有兴趣的话,可以到 leetcode 里看题解,也可以看看老顾的实现。

不过,今天咱们就偷个懒,直接用现成的正则完成题目就好。

import re
s,p = input(),input()
pattern = re.sub('^[\*]','',re.sub(r'[\*]+','*',p))
print('yes' if len(pattern) > 0 and re.fullmatch(pattern,s) else 'no')

这里对输入的 p 字符串进行了一些预处理,比如多个星号合并为1个星号,开头星号干掉,最后验证匹配规则长度大于0,用 fullmatch 来进行完全匹配验证

js 版本也类似,唯一区别就是没有 fullmatch 类似的方法,需要自己加 ^ 和 $

var s = readline();
var p = readline().replace(/[\*]+/gi,'*').replace(/^[\*]/gi,'');
print(p && new RegExp('^' + p + '$','gi').test(s) ? 'yes' : 'no');
...全文
299 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文研究了基于粒子群优化算法(PSO)的抽水蓄能电站最佳调度方案,旨在通过智能优化算法解决电站运行中的多约束、多目标调度问题。文中深入分析了抽水蓄能电站的运行特性与核心调度约束,构建了兼顾经济性、系统稳定性与电网调峰能力的多目标优化体系,并针对传统调度方法在全局寻优与动态响应方面的不足,提出采用粒子群优化算法进行高效求解。研究通过Matlab仿真平台完成了算法建模与调度逻辑的设计与实现,仿真结果表明,该方法能有效提升调度效率、降低运行成本,并显著增强电力系统对可再生能源的消纳能力和调峰灵活性。; 适合人群:具备电力系统、运筹学或自动化等相关领域基础知识,同时拥有一定Matlab编程与仿真实践能力的研究生、科研人员以及从事能源系统优化、电力调度工作的工程技术人员。; 使用场景及目标:①应用于抽水蓄能电站的日度或短期优化调度,实现发电与抽水计划的科学制定,提升能源利用效率与经济效益;②为新型电力系统中储能资源的智能调度提供先进的算法支持与可靠的仿真验证方案;③作为智能优化算法在能源电力领域应用的典型教学与科研案例,深化对元启发式算法求解复杂工程问题的理解。; 阅读建议:建议读者结合提供的Matlab代码,深入理解粒子群优化算法在电力调度问题中的具体实现流程,重点关注目标函数的数学建模、多重约束条件的处理技巧以及算法关键参数的调优策略,并可通过修改负荷预测曲线、调整电站参数或引入新的优化目标等方式,进一步拓展仿真场景,深化研究。

320

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧