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

