zoukankan      html  css  js  c++  java
  • threesum

    算法题

    问题描述:
    在一些给定的数中,找到三个数,他们相加的和是0,并且这三个数的组合是不能重复的

    例子:

    input

    [-1, 0, -1, 2, 1]

    Output

    [[-1, 1 ,0], [-1, -1, 2]]

    解法:

    Python代码:

    Class threesum(object):
      def sumthree(self, nums):
        nums.sort() #先对nums数组进行排序,这里的nums是一个list变量

      Numlist = []

      for i in range(len(nums) -2):
        if i !=0 and nums[i] == nums[i-1]:

          Continue

        J,k = i+1, len(nums)-1

        While j <k:

          S = nums[i] +nums[j] + nums[k]

          If s>0 or (k < len(nums) -1 and nums[k ] == nums[k+1])

             K -= 1

          Elif s<0 or (k>i +1 and nums[j] == nums[j -1])

              J -= 1

          Else:

            Numliist.append([nums[i], nums[j], nums[k]])

            J += 1

            K += 1

      Return numlist

  • 相关阅读:
    nginx编译安装
    使用scp命令,不同服务器之间拷备文件
    cpu负载过高排查与解决
    Docker安装
    sftp安装
    nginx登陆验证 [done]
    git常用命令
    python常见问题记录
    升级openssl
    rsync使用
  • 原文地址:https://www.cnblogs.com/whatyouknow123/p/6644874.html
Copyright © 2011-2022 走看看