给定一个包含n个整数的数组nums,判断nums中是否存在a,b,c三个元素使得a+b+c=0?找出所有满足条件且不重复的三元组。注意:答案中不允许出现重复的三胞胎。例如,给定数组nums=[-1,0,1,2,-1,-4],满足要求的三元组集合为:[[-1,0,1],[-1,-1,2]]先对数组排序,这道题的思路是选择一个值,然后对另外两个值进行配对,那么我们可以这样理解,选择第一个值,然后用两个指针指向指向第一个值和后一个,一个指向末尾,两个指针不断向中间靠拢,不断取值存入列表,解决这个问题的思路就出来了classSolution(object):defthreeSum(self,nums):""":typenums:List[int]:rtype:List[List[int]]"""nums.sort()res=[]forkinrange(len(nums)-2):ifnums[k]>0:#肯定不会超过bunsbreakifk>0andnums[k]==nums[k-1]:continue#跳过已有数组i,j=k+1,len(nums)-1whilei
