leetcode之3Sum

来源:互联网 发布:matlab生成任意矩阵 编辑:程序博客网 时间:2024/05/16 14:22
这题考验的是two pointers,也就是从2头开始进行的那种。这题相对算简单。代码如下:
if len(nums) < 3:            return []        alloflist = []        nums.sort()        for i in range(len(nums)):            if nums[i] <= 0:                j = i + 1                k = len(nums) - 1                while j < k:                    if nums[j] + nums[k] < -nums[i]:                        j = j + 1                    elif nums[j] + nums[k] > -nums[i]:                        k = k - 1                    else:                        if [nums[i], nums[j], nums[k]] not in alloflist:                            alloflist.append([nums[i], nums[j], nums[k]])                        j = j + 1                        k = k - 1            else:                break        return alloflist

0 0
原创粉丝点击