原创

算法leetcode-15

class Solution(object):
    def threeSum(self, nums):
        nums.sort()
        L, res = len(nums), []
        for i in range(L-2):
            if i > 0 and nums[i] == nums[i-1]:
                continue
            target = -1 * nums[i]
            j,k = i + 1, L - 1
            while j<k:
                if nums[j]+nums[k] == target:
                    res.append([nums[i], nums[j], nums[k]])
                    j = j + 1
                    while j<k and nums[j] == nums[j-1]:
                        j = j + 1
                elif nums[j] + nums[k] < target:
                    j = j + 1
                else:
                    k = k - 1
        return res

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

相关文章

  • softmax函数整理

    假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的Softmax值就是:

    opprash
  • textgcn

    论文:Graph Convolutional Networks for Text Classification. Liang Yao, Chengsheng M...

    opprash
  • python建模库学习

    在模型开发工程中,通常的工作的流程是使用pandas对数据进行清洗和加载,然后对处理后的数据进行建模,开发模型中的其中一个重要环节是机器学习中的“特征工程”,他...

    opprash
  • LeetCode-15-3Sum&&4Sum

    同之前的2sum差不多,计算两个的和的方式是:为了避免重复,重新用一个set容器,解决重复的问题。但是这里的情况是,重复的一个数字是可以出现的,而且是三个数字相...

    小二三不乌
  • 1.比较排序之冒泡排序

      冒泡排序可以说是在排序算法中最为入门级别的算法之一了。因为其简单易于理解,常在课堂中作为排序的入门算法。   冒泡排序见名生意,其排序过程如同水里的泡一般由...

    用户1148394
  • LeetCode 1365. 有多少小于当前数字的数字

    给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。

    freesan44
  • [Leetcode][python]First Missing Positive/缺失的第一个正数

    给定一个未经排序的数组,寻找第一个缺失的正整数 你的算法应该满足O(n)时间和常数空间复杂度

    后端技术漫谈
  • LintCode 奇偶分割数组题目分析代码

    desperate633
  • [Leetcode][python]删除排序数组中的重复项/删除排序数组中的重复项 II

    数组完成排序后,我们可以放置两个指针 ii 和 jj,其中 ii 是慢指针,而 jj 是快指针。只要 nums[i] = nums[j]nums[i]=nums...

    后端技术漫谈
  • LeetCode 280. Wiggle Sort IIsolution

    复杂度 时间 O(N) 空间 O(1) 思路 题目对摇摆排序的定义有两部分: 如果i是奇数,nums[i] >= nums[i - 1] 如果i是偶数...

    desperate633

扫码关注云+社区

领取腾讯云代金券