2026年微软人工智能研发岗位面试问题及答案.docxVIP

  • 0
  • 0
  • 约4.85千字
  • 约 16页
  • 2026-06-15 发布于福建
  • 举报

2026年微软人工智能研发岗位面试问题及答案.docx

第PAGE页共NUMPAGES页

2026年微软人工智能研发岗位面试问题及答案

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

题目1:

给定一个无重复元素的整数数组,返回所有可能的子集(幂集)。

示例:

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

输出:`[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]`

要求:

-使用递归或迭代方法实现。

-时间复杂度O(2^n),空间复杂度O(n)。

答案:

python

defsubsets(nums):

res=[]

subset=[]

defdfs(i):

ifi=len(nums):

res.append(subset.copy())

return

不选择当前元素

dfs(i+1)

选择当前元素

subset.append(nums[i])

dfs(i+1)

subset.pop()

dfs(0)

returnres

解析:

-递归遍历每个元素,选择或不选择,构建所有可能的子集。

-时间复杂度:每个元素有2种选择,共2^n个子集,每次复制子集的时间复杂度为O(n)。

-空间复杂度:递归栈的深度为n,结果集大小为2^n,但每次复制子集时使用额外空间O(n)。

题目2:

实现一个函数,判断一个字符串是否是有效的括号组合(仅包含`(,),

文档评论(0)

1亿VIP精品文档

相关文档