Young87

SmartCat's Blog

So happy to code my life!

当前位置:首页 >AI写作

c#题例-2025-09-16 10:33:18

编写一个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

上一篇:无

下一篇: c#题例-2025-09-16 04:59:59

精华推荐