本文出处:SmartCat代码生成器
一款实用的代码生成器 希望给大家带来方便 也请大家多提需求和反馈bug http://ouchen.tech
本文出处:SmartCat代码生成器
一款实用的代码生成器 希望给大家带来方便 也请大家多提需求和反馈bug http://ouchen.tech
有一个包含100个元素的整数数组 `numbers`,其中所有元素的值均在 `1` 到 `100` 之间(含),并且恰好有一个数字重复了两次。请仅使用常量级额外空间,并在 O(n) 时间复杂度内找出这个重复的数字。 要求: - 不得修改原始数组。 - 不能使用哈希表、集合、排序或标记数组。 - 代码需体现算法思想,并保证逻辑严密。 请写出实现该功能的 C# 函数,并说明其原理。
编写一个C#程序,实现一个支持通配符匹配的正则表达式引擎,支持以下规则:- 字符 `?` 匹配任意单个字符;- 字符 `*` 匹配任意字符序列(包括空序列);- 匹配应覆盖整个输入字符串;- 输入字符串和模式串均为ASCII字符,不考虑Unicode;- 要求使用动态规划实现,且优化空间复杂度。要求:1. 实现函数 `bool IsMatch(string s, string p)`;2. 给出时间与空间复杂度分析;3. 给出示例输入输出并解释;4. 保证代码健壮性,考虑边界条件与大输入情况。
编写一个C#程序,实现一个支持通配符匹配的函数,匹配规则如下:- 字符 `?` 可以匹配任何单个字符。- 字符 `*` 可以匹配任意字符序列(包括空序列)。函数签名如下:```csharpbool IsMatch(string text, string pattern)```要求:1. 不能使用正则表达式(Regex)或任何外部库。2. 实现需高效,时间复杂度应控制在 O(n * m) 范围内,其中 n 和 m 分别是输入文本和模式的长度。3. 需要处理各种边界情况,例如多个连续的 `*`、`*` 在开头或结尾、`?` 匹配空等。请在实现中体现良好的编码风格和逻辑思维能力。
编写一个C#程序,实现一个高效的字符串压缩算法,具体要求如下:1. 输入是一个字符串(仅包含大写和小写字母)。2. 将字符串中连续重复的字符进行压缩,格式为字符 + 重复次数。例如:"aaabbbcc" 压缩为 "a3b3c2"。3. 如果压缩后的字符串长度不小于原始字符串,则返回原始字符串。4. 要求时间复杂度为 O(n),空间复杂度为 O(1)(不考虑输出结果所占空间)。5. 编写单元测试验证程序的正确性。请在实现中体现良好的编码习惯、异常处理以及设计可测试的代码结构。
编写一个高效的算法,模拟一个具有嵌套结构的文件系统,并支持以下操作:1. `create(path, value)`:在指定路径下创建一个文件或覆盖已有文件,路径如 `/a/b/c`,路径中的每一级目录可以不存在,`value` 是一个字符串。2. `get(path)`:返回指定路径文件的内容,如果路径不存在或不是文件,抛出异常或返回 null。3. `delete(path)`:删除指定路径的文件或目录(若删除的是目录,则递归删除其所有内容)。4. `list(path)`:列出指定目录下的直接子项名称(文件和目录),返回 `IEnumerable`,路径不存在或不是目录时抛出异常。要求:……
编写一个C#程序,使用递归和尾递归两种方式实现斐波那契数列计算,并对比两者的性能差异。要求:1. 使用递归方式实现斐波那契数列的计算(F(n) = F(n-1) + F(n-2),其中 F(0)=0, F(1)=1)。2. 使用尾递归优化方式实现相同的斐波那契数列计算。3. 编写性能测试代码,分别测量递归与尾递归在计算 F(40) 时的执行时间。4. 解释为何尾递归实现的性能显著优于普通递归实现。
编写一个C#程序,实现一个线程安全的对象池(Object Pool),满足以下要求:1. 对象池应支持任意类型的对象,通过泛型实现。2. 提供获取对象(GetObject)和释放对象(ReleaseObject)的方法。3. 对象池内部自动创建和维护对象实例,对象创建通过传入的Func委托完成。4. 对象池应避免重复释放同一对象,且保证多线程环境下安全使用。5. 实现IDisposable接口,确保资源正确释放。6. 添加最大对象数限制,并在获取对象超过限制时抛出异常或阻塞直到有对象被释放。要求写出完整代码,并解释其中的线程同步机制和资源管理策略。
实现一个高效的字符串压缩算法,要求如下:- 输入是一个字符数组 `char[] chars`,每个字符都是小写英文字母(a-z)。- 压缩规则:将连续相同字符的出现次数附加在其后面。例如 `"aaa"` 应压缩为 `"a3"`。- 如果字符出现次数为 1,则不附加次数。例如 `"a"` 保持为 `"a"`。- 压缩后的结果必须直接修改原数组 `chars`,并返回压缩后的长度。- **不能使用额外空间**,即必须在原地修改输入数组。- 如果有多种可行解,返回长度最短的那个。示例:```csharp输入:char[]……
编写一个C#程序,实现一个支持通配符匹配的函数,匹配规则需支持:- `'?'` 匹配任意单个字符;- `'*'` 匹配任意字符序列(包括空字符序列)。函数签名如下:```csharpbool IsMatch(string text, string pattern)```要求:1. 不能使用正则表达式(Regex)或其他内置通配符匹配功能;2. 时间复杂度尽可能优化,避免暴力递归;3. 请给出一个动态规划的实现方案,并分析其时间与空间复杂度;4. 附加题(可选):如何优化空间复杂度?是否可以支持大字符串匹配?