互联网行业高级工程师面试题及答案.docxVIP

  • 1
  • 0
  • 约7.67千字
  • 约 21页
  • 2026-03-19 发布于福建
  • 举报

互联网行业高级工程师面试题及答案.docx

第PAGE页共NUMPAGES页

2026年互联网行业高级工程师面试题及答案

一、编程实现题(共3题,每题20分,总计60分)

1.剑桥大学算法设计题(20分)

题目:

给定一个包含重复元素的整数数组,返回所有不重复的三元组,使得这三个数的和等于给定的目标值。要求时间复杂度低于O(n2)。

示例:

输入:`nums=[-1,0,1,2,-1,-4]`,`target=0`

输出:`[[-1,-1,2],[-1,0,1]]`

要求:

-不能使用相同的元素构建重复的三元组。

-可以假设三元组内元素的顺序不重要。

答案:

python

defthreeSum(nums,target):

nums.sort()

n=len(nums)

res=[]

foriinrange(n):

跳过重复元素

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

continue

left,right=i+1,n-1

whileleftright:

total=nums[i]+nums[left]+nums[right]

iftotal==target:

res.append([nums[i],nums[left],nums[right]])

跳过重复元素

whileleftrightand

文档评论(0)

1亿VIP精品文档

相关文档