c#题例-2025-08-27 09:53:09
日期: 2025-08-27 分类: AI写作 7次阅读
编写一个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
标签:AI写作
上一篇:无
精华推荐