给定一个数组和目标数target,找出数组中a,b,c满足 a+b+c = target 的所有组合。
def sum_of_three(arr,target):
assert len(arr)>=3,"len(arr) should >=3!"
arr.sort()
ans = set()
for k,c in enumerate(arr):
i,j = k+1,len(arr)-1
while i<j:
if arr[i]+arr[j]+c < target:
i = i+1
elif arr[i]+arr[j]+c > target:
j = j-1
else:
ans.update({(arr[k],arr[i],arr[j])})
i = i+1
j = j-1
return(list(ans))
print(sum_of_three([-3,-1,-2,1,2,3],0))
本文深入探讨了寻找数组中三个数之和等于特定目标数的算法实现。通过详细解释和代码示例,展示了如何使用排序和双指针技术高效地解决此问题。
550

被折叠的 条评论
为什么被折叠?



