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

  • 相关阅读:
    导出数据到Excel文件
    百度地图
    Web报表-RDLC报表的使用
    web开发经验—MVC 图表Chart
    数据库面试题
    滑块插件jRange的使用
    matplotlib绘图使用数据
    JS面向对象之封装
    如何使用Animate.css插件库
    圣杯布局,双飞翼布局
  • 原文地址:https://www.cnblogs.com/whatyouknow123/p/6644874.html
Copyright © 2011-2022 走看看