力扣 三數之和

2021-10-08 19:10:17 字數 907 閱讀 7809

題目描述:

給你乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?請你找出所有滿足條件且不重複的三元組。

注意:答案中不可以包含重複的三元組。

解題思路:

為防止有重複三元組的情況,首先把陣列排序。對於找三元組,可以使用暴力求解的方法,但如果對執行時間有限制的話, 會超時。本文採用固定乙個數,另外兩個數的求解用雙指標的方法。

class

solution

int left=i+1;

int right=len-1;

int target=

0-cur;

//vectorans;

while

(left

if(nums[left]

+nums[right]

>target)

else

if(nums[left]

+nums[right]

else

output.

push_back

(vector<

int>);

// output.push_back(ans);

// ans.clear();

left++

; right--;}

}}return output;}}

;

對於遮蔽掉的部分,是因為超時。。。雖然思路都一樣,怎麼寫**又是一回事。。。寫不好就超時,唉。

【英雄主義】

力扣15 三數之和

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

力扣 15 三數之和

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

力扣OJ題 三數之和

給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 對於這個問題,我用的是se...