软件工程师面试题集及详解.docxVIP

  • 1
  • 0
  • 约8.56千字
  • 约 22页
  • 2026-11-05 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师面试题集及详解

一、编程题(共5题,每题10分,总分50分)

1.题目:

编写一个函数,实现字符串的压缩。输入一个字符串,如果字符串中有连续的相同字符,则用字符和出现的次数表示。例如,输入aaabbbcc,输出a3b3c2。如果压缩后的字符串不比原字符串短,则返回原字符串。

答案:

python

defcompress_string(s):

ifnots:

returns

compressed=[]

count=1

foriinrange(1,len(s)):

ifs[i]==s[i-1]:

count+=1

else:

compressed.append(s[i-1]+str(count))

count=1

compressed.append(s[-1]+str(count))

compressed_str=.join(compressed)

returncompressed_striflen(compressed_str)len(s)elses

解析:

-首先检查输入字符串是否为空,若为空则直接返回。

-使用一个列表`compressed`存储压缩后的字符和计数。

-遍历字符串,统计连续相同字符的个数,当遇到不同字符时,将字符和计数

文档评论(0)

1亿VIP精品文档

相关文档