(每日一练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');
...全文
267 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文围绕不确定环境下的多式联运路径优化问题展开研究,提出并实现了基于AFO算法、遗传算法(GA)和粒子群优化算法(PSO)的三种智能优化方法,并借助Matlab平台完成算法编程与仿真。研究构建了考虑时间、成本、转运风险等多重不确定因素的路径优化模型,系统比较了AFO、GA、PSO三种算法在收敛速度、全局寻优能力和稳定性方面的表现,同时引入Matlab自带的全局优化搜索器作为基准对照,深入分析各算法在复杂物流网络中的适用边界与性能差异。研究表明,AFO算法在解决此类组合优化问题时展现出更快的收敛效率和更强的局部规避能力。; 适合人群:具备一定Matlab编程基础与运筹优化知识,从事物流工程、交通运输规划、智能算法开发等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于多式联运、综合货运网络中的路径决策支持系统构建;②为不确定性条件下复杂路径规划问题提供智能算法选型依据与技术实现方案;③支持科研人员复现主流优化算法并开展横向性能对比实验,推动算法改进与实际落地。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析算法实现流程,重点理解目标函数设计、约束条件处理及参数敏感性分析部分,可通过调整问题规模与算法参数进行对比实验,进一步拓展至动态路径规划或大规模网络优化等延伸场景。

320

社区成员

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

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