c#题例-2025-08-24 00:26:30
日期: 2025-08-24 分类: AI写作 86次阅读
编写一个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写作
精华推荐

