本文出处:SmartCat代码生成器
一款实用的代码生成器 希望给大家带来方便 也请大家多提需求和反馈bug http://ouchen.tech
本文出处:SmartCat代码生成器
一款实用的代码生成器 希望给大家带来方便 也请大家多提需求和反馈bug http://ouchen.tech
实现一个高效的字符串匹配算法,用于在一篇长文本中查找多个模式串的首次出现位置。要求如下:- 给定一个长文本字符串 `text`(长度可达10^6)和一个模式串列表 `patterns`(模式数量可达10^4,每个模式长度不超过100)。- 返回一个字典,其中键为每个模式串,值为该模式在 `text` 中首次出现的索引位置(未找到则值为 -1)。- 要求整体算法时间复杂度控制在 O(text.Length + patterns总长度)。- 请使用 C# 实现,并写出关键注释说明设计思路。
编写一个C#程序,实现一个支持通配符匹配的函数,用于判断给定的字符串是否匹配指定的模式。模式中可以包含普通字符和以下通配符:- `'?'`:匹配任意单个字符。- `'*'`:匹配任意字符序列(包括空序列)。要求如下:- 函数签名如下: ```csharp bool IsMatch(string text, string pattern) ```- 必须使用**动态规划**方法实现。- 时间复杂度应为 `O(n * m)`,其中 `n` 和 `m` 分别是 `text` 和 `pattern` 的长度。- 不允许使用正则表达式库或其他内置匹配功能。示例:……
编写一个C#程序,使用递归和尾递归两种方式实现计算第n个斐波那契数(Fibonacci number)的功能,并比较两种方法在不同输入规模下的性能差异。要求:1. 使用高精度计时器(如`System.Diagnostics.Stopwatch`)记录每种方法的执行时间。2. 在递归实现中禁止使用任何显式的循环结构(如for、while等)。3. 尾递归实现必须确保是真正的尾递归(tail-recursive),并尽可能避免栈溢出。4. 主程序中提供测试用例,至少包括n = 10, n = 40, 和 n = 50的情况。5. 输出结果需包含每个输入对应的斐波那契数及各自的执行时间。请提供完整的……
有一个包含 100 个正整数的数组,每个数的取值范围是 1 到 100,且**恰好有一个数字重复了两次**,其余数字只出现一次。请你在**不修改原数组**、不使用**额外的集合类(如哈希表、字典等)**的前提下,找出这个重复的数字。要求:- 时间复杂度不超过 O(n)- 空间复杂度为 O(1)请用 C# 编写一个函数实现该逻辑,并写出你的思路。
有一个包含 100 个正整数的数组,其中每个数字都在 1 到 99 之间(包含)。已知其中**有且仅有一个数字是重复的**,请用 C# 编写一个算法,在**不使用额外存储空间**(如哈希表、字典、集合等)的前提下,找出这个重复的数字。要求时间复杂度为 O(n)。请写出函数签名及其实现。
编写一个C#程序,实现一个支持通配符匹配的正则表达式引擎,支持以下规则:- '.' 匹配任意单个字符 - '*' 匹配零或多个前面的元素 要求:1. 实现函数 `bool IsMatch(string s, string p)`,返回 `true` 表示字符串 `s` 能够匹配模式 `p`,否则返回 `false`。2. 匹配应覆盖整个输入字符串(不是部分匹配)。3. 请使用动态规划方法实现,并确保时间复杂度为 O(m * n),其中 m 和 n 分别为输入字符串和模式的长度。4. 不得使用 .NET 内置的正则表达式库(如 `System.Text.Reg……
编写一个C#程序,使用递归和LINQ实现对一个整数数组的**快速排序(QuickSort)**,要求:1. 不得使用任何`for`、`while`或`do-while`循环;2. 必须使用递归实现排序逻辑;3. 使用LINQ来划分小于基准值、等于基准值和大于基准值的三个子集;4. 程序需处理重复元素和负数;5. 实现一个单元测试方法,验证该算法的正确性。
编写一个C#程序,使用递归和LINQ实现对一个整数数组的**快速排序(Quicksort)**,要求:1. 不允许使用`for`、`foreach`、`while`循环语句;2. 必须使用递归;3. 必须使用LINQ进行数组的过滤和组合;4. 排序逻辑必须封装在一个静态方法`QuickSort`中,签名如下:```csharppublic static int[] QuickSort(int[] array)```请在实现中体现出对C#语言函数式编程特性的深入理解,并在必要时使用`yield return`或`IEnumerable`特性。
编写一个C#程序,使用递归和动态规划两种方法实现计算斐波那契数列第n项的函数,并分析两种方法的时间复杂度与空间复杂度。同时,要求程序能够处理n为负数的情况,返回合适的错误信息或结果。