- 1
- 0
- 约7.67千字
- 约 21页
- 2026-03-19 发布于福建
- 举报
第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)