携程技术团队面试常见问题及答案.docxVIP

  • 0
  • 0
  • 约7.79千字
  • 约 24页
  • 2026-11-05 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年携程技术团队面试常见问题及答案

一、编程基础与算法(共5题,每题8分,总分40分)

1.题目:

给定一个无重复元素的整数数组,返回所有可能的子集。子集不能包含重复的元素。

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

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

答案:

python

defsubsets(nums):

result=[]

subset=[]

defbacktrack(start):

result.append(subset.copy())

foriinrange(start,len(nums)):

subset.append(nums[i])

backtrack(i+1)

subset.pop()

backtrack(0)

returnresult

示例调用

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

解析:

采用回溯算法,通过递归的方式生成所有可能的子集。`backtrack(start)`函数从`start`位置开始遍历数组,每次选择一个元素加入`subset`,然后继续递归,最后回溯时移除该元素。通过这种方式,可以生成所有不重复的子集。

2.题目:

实现一个函数,检查二叉树是否是平衡的二叉树。一

文档评论(0)

1亿VIP精品文档

相关文档