Encode函数面试题及详细解析.docxVIP

  • 2
  • 0
  • 约2.04千字
  • 约 10页
  • 2026-06-08 发布于河北
  • 举报

Encode函数面试题及详细解析

一、面试题:实现字符串压缩编码函数

题目要求

设计一个encode函数,接收一个纯字母字符串(大小写敏感),返回其压缩编码结果,编码规则如下:

1. 连续重复的字符,用「字符+重复次数」表示(次数≥2时才压缩,次数=1时仅保留字符);

2. 非连续重复的字符,保持原样;

3. 空字符串输入返回空字符串。

示例

• 输入:aaabbbcc→输出:a3b3c2

• 输入:aabbaa→输出:a2b2a2(注意:中间被b分隔,a不连续,需分别编码)

• 输入:abcd→输出:abcd(无连续重复,不压缩)

• 输入:AaaBb→输出:A1a2B1b1(大小写敏感,A≠a,B≠b,且次数=1可省略,此处示例为对比,实际输出应为Aa2Bb)

• 输入:→输出:

要求

4. 用Python实现(其他语言可类比);

5. 考虑边界情况(空字符串、单个字符、全重复字符、无重复字符);

6. 代码简洁易读,无冗余;

7. 时间复杂度尽量优化。

二、详细答案

1.需求分析

核心是「识别连续重复字符」并「按规则替换」,关键要点:

• 大小写敏感:A和a是不同字符;

• 连续判定:仅相邻字符相同才算连续(如aabbaa中前后两个aa不连续);

• 压缩规则:次数≥2才加数字,次数=1直接保留

文档评论(0)

1亿VIP精品文档

相关文档