您的位置:首页 > 博客中心 > 编程语言 >

[leetcode]3Sum @ Python

时间:2022-03-21 06:22

原题地址:http://oj.leetcode.com/problems/3sum/

题意:从一个数组中找到三个数,使这三个数的和为0。有可能存在多组解,也有可能存在重复的解,所以需要去重。比如:num=[-1,0,1,2,-1,-4];那么存在两组解:[[-1,0,1],[-1,-1,2]],解中的数需要是从小到大排序状态。

解题思路:1,先将数组排序。

     2,排序后,可以按照TwoSum的思路来解题。怎么解呢?可以将num[i]的相反数即-num[i]作为target,然后从i+1到len(num)-1的数组元素中寻找两个数使它们的和为-num[i]就可以了。下标i的范围是从0到len(num)-3。

     3,这个过程要注意去重。

       4,时间复杂度为O(N^2)。

代码:

gxlsystem.com,布布扣

 

[leetcode]3Sum @ Python,布布扣,bubuko.com

本类排行

今日推荐

热门手游