- 0
- 0
- 约7.94千字
- 约 20页
- 2026-02-10 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为公司技术研发工程师面试题详解
一、编程题(共3题,每题15分,总分45分)
1.题目:
实现一个函数,输入一个正整数n,输出所有可能的二进制排列组合,且每个排列中1的个数等于n。例如,当n=2时,输出[00,01,10,11]。要求使用递归或迭代方法实现,时间复杂度尽量低。
答案:
python
defgenerate_binary(n):
result=[]
defbacktrack(current,count):
ifcount==n:
result.append(current)
return
iflen(current)==2n:
return
backtrack(current+0,count)
backtrack(current+1,count+1)
backtrack(,0)
returnresult
示例
print(generate_binary(2))#输出:[00,01,10,11]
解析:
-使用递归回溯法,每次选择添加0或1,当添加1时,增加1的计数。
-当1的计数达到n时,将当前排列加入结果;当排列长度达到2n时,停止递归。
-时间复杂度:O(2^n),因为每个位有2种选择,共n位。
2.题目:
给定一个包含重复元素的数组nums,返回所有不重复的全排列。例如,当nums=[1,1,2]时,输出[[1,1,2],[1,2,1],[2,1,1]]。要求使用回溯法实现,并避免重复排列。
答案:
python
defpermute_unique(nums):
result=[]
nums.sort()#先排序,便于跳过重复元素
defbacktrack(current):
iflen(current)==len(nums):
result.append(current[:])
return
foriinrange(len(nums)):
ifi0andnums[i]==nums[i-1]andnotused[i-1]:
continue
ifnotused[i]:
used[i]=True
current.append(nums[i])
backtrack(current)
current.pop()
used[i]=False
used=[False]len(nums)
backtrack([])
returnresult
示例
print(permute_unique([1,1,2]))#输出:[[1,1,2],[1,2,1],[2,1,1]]
解析:
-首先对数组排序,便于通过相邻元素相同跳过重复排列。
-使用used数组记录每个元素是否被使用,避免在同一排列中重复使用。
-当遇到与前一个元素相同且前一个元素未被使用时,跳过当前元素,防止重复排列。
-时间复杂度:O(n!n),因为全排列有n!种,每种排列需要O(n)时间。
3.题目:
实现一个LRU(最近最少使用)缓存,支持get和put操作。get(key)返回key对应的值,如果key不存在返回-1;put(key,value)将key和value存入缓存,如果缓存已满,则删除最近最少使用的元素。要求使用哈希表和双向链表实现。
答案:
python
classListNode:
def__init__(self,key=0,value=0):
self.key=key
self.value=value
self.prev=None
self.next=None
classLRUCache:
def__init__(self,capacity:int):
self.capacity=capacity
self.cache={}
self.head=ListNode(0,0)
self.tail=ListNode(0,0)
self.head.next=self.tail
self.tail.prev=self.head
defget(self,key:int)-int:
ifkeyinself.cache:
node=self.cache[key]
self._move_to_head(node)
returnnode.value
return-1
defput(self,key:int,value:int)-None:
ifkeyinself.cache:
node=self.cache[key]
node.v
您可能关注的文档
- 销售管理岗位面试宝典及答案参考.docx
- 电商运营岗位能力测试题及答案解析.docx
- 2026年摄影师面试技巧与考核要点.docx
- 农业银行产品经理面试题与解答.docx
- 2026年数据结构算法研究人员的必考问题集.docx
- 面试题如何处理专利转让纠纷.docx
- 2026年互联网公司市场部经理面试问题集.docx
- 国际合作专员面试问题集.docx
- 安信证券财务主管的招聘与选人经验及常见问题解答.docx
- 档案咨询员面试题及答案解析.docx
- 初中九年级英语Unit 13环境保护主题听说整合教学设计.docx
- 85分式方程及其解法课件人教版数学八年级上册.pptx
- 基于核心素养的博物馆主题说明文写作教学设计与实施——以九年级英语为例.docx
- 53一次函数的意义第课时课件浙教版八年级数学上册.pptx
- 大单元视角下“人民民主政权的巩固”与历史关键能力进阶教学设计——以初中历史中考复习课为例.docx
- 五年级数学下册典型例题解析人教版期末重点攻克.pptx
- 小学四年级信息技术《智启信息时代:查找网上信息的基石》教学设计及反思.docx
- 大疆域·大人口·大战略:中国国家空间认知的初步建构.docx
- 人教版(一年级起点)小学英语四年级上册Revision 1 Lesson 2教学设计.docx
- 大单元结构化复习:旧民主主义革命时期(18401919)的内忧外患与救亡图存.docx
最近下载
- 2024—2025学年江苏省苏州市工业园区星港初三零模数学试卷.doc VIP
- TG-NET TG-NET 全万兆核心交换机 S6200-16TF 说明书用户手册.pdf
- 天津执业药师继续教育《中药就在您身边(一)》习题答案.docx VIP
- 在公司2026年度党风廉政建设和反腐败工作会上的讲话.docx VIP
- 伟达olt e3320t cli命行说明用户手册命令行操作分册.pdf VIP
- KYT危险预知训练.ppt VIP
- Barsetto咖啡机BAE-01C说明书用户手册.pdf
- 鲁科版高中数学人教版目录.pdf VIP
- 天津执业药师继续教育《儿科常用药物概要》习题答案.docx VIP
- 微机综合保护装置 说明书 3详解.pdf VIP
原创力文档

文档评论(0)