Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >AI写作

c#题例-2025-08-30 19:20:54

实现一个高效的字符串压缩算法,要求如下:

- 输入一个字符数组 `char[] chars`,每个字符都是小写字母(可包含重复字符)。
- 压缩规则:
- 将连续相同字符的出现次数附加在其后面,例如 `'aaa'` 变为 `'a3'`。
- 若字符只出现一次,则不附加次数,例如 `'a'` 保持 `'a'`。
- 字符串压缩后应尽可能短。
- 压缩后的字符应覆盖原数组 `chars`,即结果应直接写入原数组。
- 返回压缩后的有效长度。

**限制条件:**
- 不得使用额外堆空间(即不允许创建新的字符串或数组)。
- 时间复杂度必须为 O(n),空间复杂度为 O(1)。

**示例:**
```csharp
Input: chars = ['a','a','b','b','c','c','c']
Output: 6
chars 被修改为 ['a','2','b','2','c','3','c'] // 实际有效前6位为压缩结果
```

**请写出函数签名和实现逻辑。**

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: c#题例-2025-08-31 00:54:10

下一篇: c#题例-2025-08-30 12:33:01

精华推荐