题解 | #数组中相加和为0的三元组#

数组中相加和为0的三元组

http://www.nowcoder.com/practice/345e2ed5f81d4017bbb8cc6055b0b711

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param num int整型一维数组 
# @return int整型二维数组
#
class Solution:
    def threeSum(self , num: List[int]) -> List[List[int]]:
        # write code here
        num = sorted(num)
        res = []
        for i in range(len(num)):
            low = i + 1
            high = len(num) - 1
            a = num[i]
            while low < high:
                b = num[low]
                c = num[high]
                if (a + b + c) == 0:
                    if [a, b, c] not in res:
                        res.append([a, b, c])
                    while high > 0 and num[high] == num[high - 1]:
                        high -= 1
                    high -= 1
                    while low < len(num) - 1 and num[low] == num[low + 1]:
                        low += 1
                    low += 1
                elif (a + b + c) > 0:
                    while high > 0 and num[high] == num[high - 1]:
                        high -= 1
                    high -= 1
                elif (a + b + c) < 0:
                    while low < len(num) - 1 and num[low] == num[low + 1]:
                        low += 1
                    low += 1
        return res

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务