华为技术专家面试题详解.docxVIP

  • 6
  • 0
  • 约6.89千字
  • 约 21页
  • 2025-12-26 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术专家面试题详解

一、编程与算法题(共5题,每题10分,总分50分)

题目1:

问题描述:

给定一个包含重复整数的数组`nums`,返回所有不重复的排列组合。例如,输入`[1,1,2]`,输出`[[1,1,2],[1,2,1],[2,1,1]]`。

要求:

-不能使用递归或内置库函数。

-时间复杂度尽可能低。

答案:

python

defpermute_unique(nums):

defbacktrack(path,used):

iflen(path)==len(nums):

res.append(path[:])

return

foriinrange(len(nums)):

ifused[i]:

continue

ifi0andnums[i]==nums[i-1]andnotused[i-1]:

continue

used[i]=True

path.append(nums[i])

backtrack(path,used)

path.pop()

used[i]=False

nums.sort()

res=[]

used=[False]len(nums)

backtrack([],used)

returnres

示例

print(permute_u

文档评论(0)

1亿VIP精品文档

相关文档