华为公司技术研发工程师面试题详解.docxVIP

  • 0
  • 0
  • 约7.94千字
  • 约 20页
  • 2026-02-10 发布于福建
  • 举报

华为公司技术研发工程师面试题详解.docx

第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

文档评论(0)

1亿VIP精品文档

相关文档