leetcode 3Sum 三個數的和

2022-04-15 18:08:01 字數 1071 閱讀 5039

sn

abcs

abcnode:ab

c)the solution set must not contain duplicate triplets.

for example, given array s = , a solution set is: (-1, 0, 1) (-1, -1, 2)

給定乙個陣列s,裡邊有n個整數,陣列中有沒有三個數a、b、c使他們相加等於0,找出陣列中唯一的三個數,注意a<=b<=c,答案不能包括相同的一組數。

比如,這個陣列是答案是(-1,0,1)(-1,-1,2),不能有相同的.

演算法思路:① 這個題使用的比較笨的方法,時間複雜度都能達到o(n^3),很好理解,就是使用蠻力演算法窮舉每一種可能,設定了三個迴圈,本來對這個通過不抱希望,但是leetcode竟然通過了。

② getarray(int num1,int num2,int num3)是對num1、num2、num3排序的。

③ boolean comparearray(arraylist> array1,arraylistarray2)是判斷array1中是否有和array2相同的小組數的。

**設計:

1

class

solution15 14}

15}16}

17return

arraylist;18}

19boolean comparearray(arraylist> array1,arraylistarray2)

24return

false;25

}26 arraylistgetarray(int num1,int num2,int

num3)

33if(num338if(num1>num2)

43 arraylist.add(num1);//

這個時候num1 num2 num3 按從小到大的順序排列

44arraylist.add(num2);

45arraylist.add(num3);

46return

arraylist;47}

48 }

三個數的和,leetcode問題

給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 解法一 c 暴力求解...

三個數之和

b 問題 b 給定乙個由n個整數組成的陣列s,是否存在s中的三個數a,b,c使得 a b c 0?找出所有的不重複的和為0的三元組。注意 1.三元組的整數按照公升序排列 a0 c向前移一位,減小和 還要注意的是去掉重複的解,保證a和b都和上次的不同即可。如下 public class solutio...

三個數之和

給定乙個包含n個整數的陣列nums,判斷nums中是否存在三個元素a,b,c,使得a b c 0?請找出所有的三元組。答案不包含重複的三元組。python class solution def threesum self,nums if len nums 3 return res n len num...