本文出处:SmartCat代码生成器
一款实用的代码生成器 希望给大家带来方便 也请大家多提需求和反馈bug http://ouchen.tech
本文出处:SmartCat代码生成器
一款实用的代码生成器 希望给大家带来方便 也请大家多提需求和反馈bug http://ouchen.tech
有一个包含多个括号的字符串表达式,括号类型包括圆括号 `()`、方括号 `[]` 和花括号 `{}`。请编写一个 C# 函数 `bool IsValidExpression(string expression)` 判断该表达式是否合法(即所有括号均正确匹配和嵌套)。 在此基础上,进一步实现: - 忽略字符串中的其他字符(如字母、数字、符号等),仅校验括号的合法性。 - 如果表达式不合法,函数应返回 `false`;若合法,返回 `true`。 例如: - 输入:`"([a] + {b*c}) - {d/(e+f)}"`,输出:`true` - 输入:`"……
实现一个高效的线程安全的缓存系统,支持以下操作:- 缓存应支持任意键值对的存储和获取。- 支持设置每个键的过期时间(TTL),过期后该键值对应自动清除。- 支持最大缓存条目限制,当缓存已满时插入新条目应根据某种策略(如LRU)移除旧条目。- 多线程环境下高并发访问需保证线程安全。- 实现缓存的统计功能,可查询命中率、访问次数、命中次数等指标。要求:1. 使用C#语言设计并实现该缓存系统的核心类,包括必要的字段、属性和方法。2. 说明你所使用的缓存淘汰策略,并实现其逻辑。3. 对缓存的统计功能进行建模,提供统计信息的获取方式。4. 考虑性能优化和资源管理,避免内存泄漏和频繁的GC回收。请写出完整……
实现一个高效的字符串压缩算法,要求如下:1. 压缩规则:连续相同的字符使用“字符+次数”的形式表示。例如:"aaabbb" 压缩为 "a3b3"。2. 如果压缩后的字符串长度大于等于原始字符串,则返回原始字符串。3. 你不能使用任何C#中用于字符串拼接的内置函数(如 `String.Concat`, `StringBuilder`, `+`, `+=` 等)。4. 时间复杂度必须为 O(n),空间复杂度为 O(1)(不考虑输出结果所占空间)。5. 考虑边界情况,如空字符串、单个字符、全不重复字符串等。请编写完整的C#函数实现该算法,并在必要处添加注释说明……
编写一个C#程序,实现一个支持通配符匹配的正则表达式引擎简化版,满足以下要求:实现函数 `bool IsMatch(string s, string p)`,判断字符串 `s` 是否按照模式 `p` 匹配,其中:- `s` 为任意有效字符串,仅包含小写字母;- `p` 为一个模式字符串,包含小写字母和以下两个通配符: - `.` 匹配任意单个字符; - `*` 匹配前面一个字符的零次或多次(即 `*` 前面必须有一个字符);匹配应当覆盖整个字符串 `s`(即必须完整匹配,不是部分子串匹配)。例如:- `IsMatch("aa", "a")` → fa……
编写一个C#程序,模拟实现一个**有限状态机(Finite State Machine, FSM)**,满足以下要求:1. 状态机包含三个状态:`Idle`、`Running`、`Paused`,以及一个终止状态`Stopped`;2. 状态之间有如下合法转换: - `Idle` → `Running`(通过`Start`事件) - `Running` → `Paused`(通过`Pause`事件) - `Paused` → `Running`(通过`Resume`事件) - `Running`或`Paused` → `Stopped`(通过`Stop`事件) - 任意状态……
编写一个C#程序,实现一个支持通配符匹配的函数,满足以下条件:- 函数签名为 `bool IsMatch(string s, string p)`,其中 `s` 是目标字符串,`p` 是包含通配符的模式字符串。- 支持以下模式规则: - `'?'` 匹配任意单个字符。 - `'*'` 匹配任意字符序列(包括空序列)。- 匹配必须覆盖整个目标字符串(即不能部分匹配)。要求:1. 不能使用正则表达式(Regex)相关类或方法。2. 时间复杂度需优于 O(n^3)(即不能使用暴力递归)。3. 使用动态规划优化时间效率,并尽可能降低空间复杂度。示例:```cshar……
编写一个C#程序,实现一个可扩展的表达式解析器,支持以下功能:1. 解析并计算包含加(+)、减(-)、乘(*)、除(/)四则运算的表达式;2. 支持括号以改变运算优先级;3. 支持自定义变量替换,例如表达式中出现 `x`、`y` 等变量应能从上下文中获取其值;4. 支持自定义函数,例如支持 `sin(x)`、`log(x)` 等数学函数,且允许用户动态注册新的函数;5. 程序需具备良好的错误处理机制,如检测非法字符、不匹配的括号、除以零等异常情况,并给出具体错误信息;6. 要求使用面向对象设计,体现扩展性和可维护性。请设计并实现该表达式解析器的核心类和接口,并完成一个示例程序验证其功能。
实现一个高效的字符串压缩算法,要求如下:- 输入一个字符数组 `char[] chars`,每个字符都是小写英文字母('a' 到 'z')。- 将其就地(in-place)压缩,压缩后的形式是:"字符+该字符连续出现的个数",例如 `'a'` 连续出现 3 次则压缩后是 `'a3'`。- 如果某个字符只出现一次,则不写入该数字,例如 `'a1'` 是非法的,应该只保留 `'a'`。- 所有字符的压缩后形式应当连续存储在输入数组的前部,并返回压缩后的长度。- 不允许使用额外的辅助数……
有一个包含100个元素的整数数组,元素值为1到100之间的数字,其中只有一个数字是重复的。请使用C#编写一个算法,在不使用额外存储空间且时间复杂度为O(n)的情况下找出这个重复的数字。