找出陣列中的三個數和為0 的所有三元組(C 實現)

2021-08-22 04:41:16 字數 454 閱讀 6414

示例:輸入乙個陣列找出三個數a,b,c滿足a+b+c=0。

輸出:0,1,-1

0,2,-2

3,-1,-2

演算法思想:

1,先排序

2,在從前往後找,大的左移,小的右移。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

}public static void sort(listarr)

arr[j] = t;}}

public static list> threesum(listnums) 

}}   // while(j陣列,結果輸出的時候還要巢狀迴圈。

呵呵~只為了記錄一下~

三個數的和為0

給出乙個長度為n的無序陣列,陣列中的元素為整數,有正有負包括0,並互不相等。從中找出所有和 0的3個數的組合。如果沒有這樣的組合,輸出no solution。如果有多個,按照3個數中最小的數從小到大排序,如果最小的數相等則按照第二小的數排序。input 第1行,1個數n,n為陣列的長度 0 n 10...

從陣列中找出乘積最大的三個數

題目 給定乙個無序陣列,包含正數 負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間複雜度 o n 空間複雜度 o 1 輸入描述 無序整數陣列a n 輸出描述 滿足條件的最大乘積 輸入例子1 3 4 1 2 輸出例子1 24 思路 由於空間複雜度和時間複雜度的要求,肯定無法先排序,因為排序最...

在陣列中找出3個數使得它們和為0

給定乙個集合s,試找出3個數a,b,c,使得a b c 0。也即從集合中找出所有的和為0的3個數。例如 集合s 則滿足條件的3個數有2對 1,0,1 和 1,2,1 注意 1,1,0 與 1,0,1 算同乙個解,所以不用重複考慮。當然該例子集合的解也可以寫成 0,1,1 和 2,1,1 這個問題也被...