2026年软件工程师招聘面试编程题及答案.docxVIP

  • 0
  • 0
  • 约5.04千字
  • 约 14页
  • 2026-06-22 发布于福建
  • 举报

2026年软件工程师招聘面试编程题及答案.docx

第PAGE页共NUMPAGES页

2026年软件工程师招聘面试编程题及答案

一、算法题(共3题,每题15分,总分45分)

1.题目:

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

要求:

-不能使用递归或内置库函数(如`permutations`)。

-时间复杂度尽量低。

答案与解析:

答案:

python

defpermute_unique(nums):

result=[]

nums.sort()#先排序,便于处理重复元素

path=[]

used=[False]len(nums)

defbacktrack():

iflen(path)==len(nums):

result.append(path.copy())

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.pop()

used[i]=False

bac

文档评论(0)

1亿VIP精品文档

相关文档