- 0
- 0
- 约5.48千字
- 约 17页
- 2026-10-29 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为软件开发面试题集及解析
一、编程基础与算法(共5题,每题10分,总分50分)
1.题目:
请编写一个函数,实现将一个字符串中的所有大写字母转换为小写字母,其他字符保持不变。
答案:
python
defto_lowercase(s:str)-str:
return.join([char.lower()ifchar.isupper()elsecharforcharins])
解析:
-使用列表推导式遍历字符串中的每个字符,判断是否为大写字母(`char.isupper()`),如果是则使用`lower()`方法转换为小写,否则保持原字符。
-最后使用`join()`将列表中的字符拼接成新的字符串。
-时间复杂度:O(n),n为字符串长度。
2.题目:
给定一个无重复元素的整数数组,请返回所有可能的子集(包括空集)。
答案:
python
defsubsets(nums:list)-list:
res=[[]]
fornuminnums:
res+=[curr+[num]forcurrinres]
returnres
解析:
-采用回溯算法,初始结果集为`[[]]`(空集)。
-遍历数组中的每个数字,将当前数字添加到已有子集中,形成新的子集并加入结果
原创力文档

文档评论(0)