Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-08-27 09:53:09

编写一个C#程序,实现一个支持通配符匹配的函数,用于判断给定的字符串是否匹配指定模式。模式中支持以下两种通配符:

- `?` 匹配任意单个字符
- `*` 匹配任意字符序列(包括空序列)

函数签名如下:

```csharp
bool IsMatch(string input, string pattern)
```

要求:

1. **不能使用正则表达式(Regex)库**。
2. **必须使用动态规划或优化的动态规划算法实现匹配逻辑**。
3. 时间复杂度和空间复杂度需尽可能优化。
4. 要求处理边界情况,如多个连续的 `*`、空输入、空模式等。

示例:

```csharp
IsMatch("abcdef", "a*") // true
IsMatch("ab", "a?") // true
IsMatch("ab", "a*?") // true
IsMatch("ab", "?*?") // false
IsMatch("aab", "c*a*b") // false
IsMatch("aa", "*") // true
IsMatch("abc", "a?c") // true
IsMatch("abc", "a*?") // true
IsMatch("abcd", "a*?") // false
IsMatch("x", "?") // true
```

请写出完整实现,并解释其核心思想和时间、空间复杂度。

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: c#题例-2025-08-27 15:26:23

下一篇: c#题例-2025-08-27 04:19:53

精华推荐