c#题例-2025-09-16 10:33:18
日期: 2025-09-16 分类: AI写作 2次阅读
编写一个C#程序,实现一个支持通配符匹配的正则表达式引擎,支持以下规则:
- `'.'` 匹配任意单个字符
- `'*'` 匹配零或多个前面的元素(贪婪匹配)
- 原生支持字符串匹配,不使用 .NET 中的正则表达式库(如 `System.Text.RegularExpressions`)
要求如下:
1. 实现函数 `bool IsMatch(string s, string p)`,判断字符串 `s` 是否与模式 `p` 匹配。
2. 支持多星号情况(如 `"a***b"` 应等价于 `"a*b"`)。
3. 实现过程中使用动态规划优化性能,时间复杂度应为 O(m * n),其中 m 和 n 分别为字符串和模式的长度。
4. 编写测试用例验证你的实现,包括边界情况(如空字符串、连续星号、完全不匹配等)。
示例:
```csharp
IsMatch("aa", "a") => false
IsMatch("aa", "a*") => true
IsMatch("ab", ".*") => true
IsMatch("aab", "c*a*b") => false
IsMatch("aaa", "a*a") => true
IsMatch("aaa", "ab*a*c") => false
```
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐