- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第PAGE页共NUMPAGES页
2026年华为公司面试题及答案详解
一、编程能力测试(3题,每题20分,共60分)
1.题目:
请实现一个函数,输入一个字符串,输出该字符串中所有字符的频率统计。要求使用哈希表(字典)实现,并考虑字符大小写敏感。例如,输入`HelloWorld`,输出`{H:1,e:1,l:3,o:2,W:1,r:1,d:1}`。
答案与解析:
python
defchar_frequency(s):
freq={}
forcharins:
freq[char]=freq.get(char,0)+1
returnfreq
测试用例
print(char_frequency(HelloWorld))#输出:{H:1,e:1,l:3,o:2,W:1,r:1,d:1}
解析:
-使用字典`freq`存储字符及其频率,`get`方法用于获取当前字符的频率,若不存在则默认为0,然后自增1。
-字符大小写敏感,因此`H`和`h`会被视为不同字符。
-时间复杂度O(n),空间复杂度O(n),其中n为字符串长度。
2.题目:
实现一个二叉树的前序遍历(根-左-右)非递归版本。请用栈实现,并给出Python代码。
答案与解析:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
defpreorder_traversal(root):
ifnotroot:
return[]
stack,output=[root],[]
whilestack:
node=stack.pop()
output.append(node.val)
ifnode.right:
stack.append(node.right)#先右后左,出栈时左在前
ifnode.left:
stack.append(node.left)
returnoutput
测试用例
root=TreeNode(1)
root.left=TreeNode(2)
root.right=TreeNode(3)
root.left.left=TreeNode(4)
root.left.right=TreeNode(5)
print(preorder_traversal(root))#输出:[1,2,4,5,3]
解析:
-前序遍历顺序为根-左-右,非递归需要用栈模拟。
-先将根节点入栈,然后依次处理右子节点和左子节点(右子节点先入栈,左子节点后入栈,这样出栈时左在前)。
-时间复杂度O(n),空间复杂度O(n),其中n为节点数量。
3.题目:
给定一个数组`nums`和一个目标值`target`,请找出数组中和为`target`的三个数,并返回它们的索引。例如,输入`nums=[2,7,11,15],target=9`,输出`[0,1,2]`(`nums[0]+nums[1]+nums[2]=2+7+0=9`)。
答案与解析:
python
defthree_sum(nums,target):
nums.sort()#先排序,便于使用双指针
n=len(nums)
foriinrange(n-2):
ifi0andnums[i]==nums[i-1]:
continue#跳过重复元素
left,right=i+1,n-1
whileleftright:
total=nums[i]+nums[left]+nums[right]
iftotal==target:
return[i,left,right]
eliftotaltarget:
left+=1
else:
right-=1
return[]
测试用例
print(three_sum([2,7,11,15],9))#输出:[0,1,2]
解析:
-先对数组排序,便于使用双指针法。
-固定一个数`nums[i]`,然后使用左指针`left`和右指针`right`分别指向`i+1`和数组末尾,计算三数之和。
-若和等于`target`,返回索引;若小于`target`,左指针右移;若大于`target`,右指针左移。
-时间复杂度O(n2),空间复杂度O(1)。
二、系统设计测试(2题,每
您可能关注的文档
- 2026年工艺集成工程师技术知识考试题含答案.docx
- 2026年京东售后服务中心的客户服务安排及考核.docx
- 2026年IT大厂面试全攻略程序员面试题及答案解析.docx
- 2026年专业知识传播者的面试题与解答方法.docx
- 2026年UI设计师岗位面试题目及解析.docx
- 2026年媒体科技研发团队招聘面试问题集.docx
- 2026年大厨面试题及答案.docx
- 2026年企业文化策划与建设岗位工作手册及专业技能测试题目.docx
- 2026年个人发展面试题及答案.docx
- 2026年SAP云集成技术面试问题集.docx
- 浙江大学《大学英语》2025学年第二学期期末试卷(A卷).pdf
- 浙江农林大学暨阳学院《大学英语》2024-----2025学年期末试卷(A卷).pdf
- 温州医科大学仁济学院《C语言程序设计》2024-----2025学年期末试卷(A卷).pdf
- 基于springboot的个人博客网站-毕业论文.docx
- 基于springboot的在线云音乐系统的设计-毕业论文.docx
- 基于SpringBoot心理咨询预约管理平台的设计与实现-毕业论文.docx
- 基于springboot的宠物领养管理系统-毕业论文.doc
- 基于Spring Boot的酒店客房管理系统的设计与实现-毕业论文.doc
- 基于Spring Boot+Vue的水果商城设计与实现-毕业论文.docx
- 基于Springboot的宠物领养系统的设计与实现-毕业论文.docx
最近下载
- 2025山西朔州市公安局留置看护岗位辅警招聘260人备考重点题库及答案解析.docx VIP
- 2025专家共识:阿立哌唑水合物长效注射剂治疗精神分裂症的临床应用ppt课件.pptx VIP
- 既有建筑结构检测与评定标准.docx VIP
- 四川成都七中初中学校2024-2025学年七年级上学期入学分班考试数学试题(含答案).pdf VIP
- 2026年车载音响声学技术革新研究报告.docx
- 二十届中纪委五次全会课件.ppt VIP
- 表B度能源购进消费与库存情况表.doc VIP
- NBT47013.10-2015 承压设备无损检测 第10部分:衍射时差法超声检测.pdf VIP
- 华为,从战略规划到执行-让每一个业务单元都成为有效增长的发动机.pptx
- 中国人民大学核心期刊目录2022版 .docx
原创力文档


文档评论(0)