c#题例-2025-08-24 00:26:30
日期: 2025-08-24 分类: AI写作 5次阅读
编写一个C#程序,实现一个支持通配符匹配的正则表达式引擎子集,满足以下条件:
- 输入字符串`s`和模式字符串`p`均由小写英文字母和通配符组成;
- 支持以下两种通配符:
- `?`:匹配任意单个字符;
- `*`:匹配任意字符序列(包括空序列);
- 要求实现的匹配为全字符串匹配,即模式必须匹配整个输入字符串;
- 请实现一个方法 `bool IsMatch(string s, string p)` 并满足以下约束:
- 时间复杂度控制在合理范围内(如多项式时间);
- 不能使用正则表达式库函数(如 `System.Text.RegularExpressions.Regex`);
- 需要处理动态规划或递归中的边界条件与剪枝优化;
示例:
```csharp
IsMatch("aa", "a") // false
IsMatch("aa", "a*") // true
IsMatch("ab", "?*") // true
IsMatch("aab", "c*a*b") // false
```
请写出完整的实现代码,并解释其时间复杂度。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐