c#题例-2025-09-10 21:53:13
日期: 2025-09-10 分类: AI写作 9次阅读
实现一个高效的字符串压缩算法,要求如下:
- 输入是一个字符数组 `char[] chars`,每个字符都是小写英文字母(a-z)。
- 压缩规则:将连续相同字符的出现次数附加在其后面。例如 `"aaa"` 应压缩为 `"a3"`。
- 如果字符出现次数为 1,则不附加次数。例如 `"a"` 保持为 `"a"`。
- 压缩后的结果必须直接修改原数组 `chars`,并返回压缩后的长度。
- **不能使用额外空间**,即必须在原地修改输入数组。
- 如果有多种可行解,返回长度最短的那个。
示例:
```csharp
输入:char[] chars = "aabcccaaa".ToCharArray();
输出:6 (压缩后的 chars 应为 ["a","2","b","c","3","a","3"],只取前6个)
```
请实现函数:
```csharp
int Compress(char[] chars);
```
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
精华推荐