力扣15 三數之和

2021-09-27 11:51:10 字數 649 閱讀 2282

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

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

例如, 給定陣列 nums = [-1, 0, 1, 2, -1, -4],

滿足要求的三元組集合為:

[[-1, 0, 1],

[-1, -1, 2]

]題解:這題wa了好多發?,我的思路是先將陣列排序,再用3個指標來定位,i指標指向最左邊的數,另外l,r兩個指標一開始分別指向i+1和nums.length() - 1,如果3個位置的數相加等於0則ok,如果3個位置的數相加小於等於0,則l++, 如果3個位置的數相加大於0r--,途中記得去重。

class solution 

sort(nums.begin(), nums.end());

for (int i = 0; i < nums.size() - 2; i++)

int l = i + 1, r = nums.size() - 1;

while(l < r));

}if(temp <= 0)

if(temp > 0)}}

return res;

}};

力扣 15 三數之和

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

力扣15 三數之和 C

這道題兩個難點。第乙個是不能使用三層迴圈,因為會時間溢位,第二個也是主要的問題如何去重。一開始想要直接排序後去重,但是這樣的話會缺失解,比如這個解就得不到,所以不能直接去重。後來想到了可以判斷nums i 與nums i 1 是否相同,如果相同可以進行i 這樣就可以去重了,但這只是死一次去重,要用不...

力扣 15 三數之和 Golang

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