阿里巴算法工程师面试题及答案解析.docxVIP

  • 1
  • 0
  • 约5.41千字
  • 约 15页
  • 2026-10-18 发布于福建
  • 举报

阿里巴算法工程师面试题及答案解析.docx

第PAGE页共NUMPAGES页

2026年阿里巴算法工程师面试题及答案解析

一、编程题(共3题,每题15分,总分45分)

题目1(15分):

实现一个函数,输入一个无重复元素的整数数组,返回所有可能的子集(不包含空集)。要求使用递归方法,并输出子集的数量。

示例输入:`[1,2,3]`

示例输出:`[[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]`,子集数量为`7`。

答案与解析:

python

defsubsets(nums):

result=[]

subset=[]

defbacktrack(index):

result.append(subset.copy())

foriinrange(index,len(nums)):

subset.append(nums[i])

backtrack(i+1)

subset.pop()

backtrack(0)

returnresult

示例调用

print(subsets([1,2,3]))

解析:

1.使用递归的回溯算法,通过`index`控制当前遍历的位置,避免重复选择元素。

2.每次选择一个元素后,递归调用`backtrack(i+1)`继续选择下一个元素,直到所有元素被遍历。

3.子集的数量为`2^n`(包含空集),

文档评论(0)

1亿VIP精品文档

相关文档