美文网首页
LeetCode&Python 57.三数之和

LeetCode&Python 57.三数之和

作者: 长在香蕉树上的猫 | 来源:发表于2018-10-17 21:21 被阅读0次

描述

给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。

样例

如S = {-1 0 1 2 -1 -4}, 你需要返回的三元组集合的是:

(-1, 0, 1)

(-1, -1, 2)

注意事项

在三元组(a, b, c),要求a <= b <= c。

结果不能包含重复的三元组。


Python:

第一个想法是利用两数之和的思想,因为abc有顺序之分,所以先将数组排序(这里用的冒泡),再用0减去a的值,就可以把b和c转化为两数之和的问题了。注意判断不能有重复的数组。

class Solution:

    def threeSum(self, numbers):

        p = []

       #

        for i in range(len(numbers)):

            for j in range(i+1,len(numbers)):

                if numbers[i] > numbers[j]:

                    numbers[i], numbers[j] = numbers[j], numbers[i]

        for i in range(len(numbers)-2):

            t1 = 0 - numbers[i]

            q = {}

            for j in range(i+1, len(numbers)):

                t2 = t1 - numbers[j]

                if numbers[j] in q:

                    a = numbers[i]

                    b = t2

                    c = numbers[j]

                    l = (a,b,c)

                    if l not in p:

                        p.append(l)

                else:

                    q[t2] = j

        return p

相关文章

  • LeetCode&Python 57.三数之和

    描述 给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组...

  • 57. 三数之和

    给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 注...

  • LintCode 57. 三数之和

    原题 解 第一步,万年不变的查错。如果给的array是null或不够三个数,直接return 空的result。因...

  • LintCode 57. 三数之和

    题目描述 给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三...

  • algrithrom

    求和问题,双指针解决 done 两数之和 三数之和 最接近三数之和 四数之和 链表反转问题 done 链表反转 链...

  • LeetCode&Python 56.两数之和

    描述 给一个整数数组,找到两个数使得他们的和等于一个给定的数target。 你需要实现的函数twoSum需要返回这...

  • 1. 两数之和-leetCode&python

    1、题目: 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target...

  • LeetCode&Python 58.四数之和 (推广至N数之和

    描述 给一个包含n个数的整数数组S,在S中找到所有使得和为给定整数target的四元组(a, b, c, d)。 ...

  • LeetCode 第18题:四数之和

    1、前言 2、思路 采用三数之和的思路,原本三数之和可以分解为:数组中的一个数 + 此数右边的数求两数之和,那么四...

  • 两数之和&三数之和&四数之和&K数之和

    今天看了一道谷歌K数之和的算法题,忽然想起来之前在力扣上做过2、3、4数之和的题,觉得很有必要来整理一下。其实2、...

网友评论

      本文标题:LeetCode&Python 57.三数之和

      本文链接:https://www.haomeiwen.com/subject/urmlzftx.html