华为OD笔试题及详细答案(2025C卷高频真题).docxVIP

  • 11
  • 0
  • 约5.71千字
  • 约 7页
  • 2026-04-28 发布于河北
  • 举报

华为OD笔试题及详细答案(2025C卷高频真题).docx

华为OD笔试题及详细答案(2025C卷高频真题)

说明:华为OD机考共3道题,时长150分钟,语言可自选(本文统一用Python,贴合高频答题习惯),第一、二题各100分,第三题200分;目标院校150分通过,非目标院校350分通过。以下题目均来自2025C卷高频真题,解析侧重实操思路,不堆砌理论,贴合真实考试场景。

第一题:字符串压缩(简单,100分)

题干

给定一个字符串,将其按连续相同字符压缩为“字符+次数”的形式(次数为1时省略)。若压缩后的字符串长度不小于原字符串长度,则返回原字符串。

输入示例:aabccc→输出示例:a2bc3

输入约束:1≤字符串长度≤1000,字符串仅包含大小写字母、数字。

详细答案

1.解题思路

核心是遍历字符串,统计连续相同字符的出现次数,遇到不同字符时,将当前字符和次数(次数为1则省略)拼接,最后比较压缩前后长度,选择更短的返回。重点处理边界:空字符串、单一字符、所有字符都相同的情况。

2.代码实现(Python,可直接复制提交)

python

defcompress_string(s):

#处理空字符串边界case

ifnots:

return

#初始化结果列表(用列表拼接比字符串高效,避免频繁创建新字符串)

res=[]

#记录当前字符和出现次数

文档评论(0)

1亿VIP精品文档

相关文档