Young87

SmartCat's Blog

So happy to code my life!

当前位置:首页 >AI写作

c#题例-2025-09-05 07:59:40

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

- 输入一个字符数组 `char[] chars`,每个字符都是小写英文字母('a' 到 'z')。
- 将其就地(in-place)压缩,压缩后的形式是:"字符+该字符连续出现的个数",例如 `'a'` 连续出现 3 次则压缩后是 `'a3'`。
- 如果某个字符只出现一次,则不写入该数字,例如 `'a1'` 是非法的,应该只保留 `'a'`。
- 所有字符的压缩后形式应当连续存储在输入数组的前部,并返回压缩后的长度。
- 不允许使用额外的辅助数组或字符串来辅助完成该任务。

示例:
```csharp
Input: char[] chars = ['a','a','b','b','c','c','c']
Output: 6
chars 的前6个元素应为:['a','2','b','2','c','3']

Input: char[] chars = ['a','b','c']
Output: 3
chars 保持不变:['a','b','c']
```

请编写函数:
```csharp
public int Compress(char[] chars)
{
// 你的实现
}
```

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

上一篇:无

下一篇: c#题例-2025-09-05 02:26:17

精华推荐