給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。
注意:答案中不可以包含重複的三元組。
示例:給定陣列 nums = [-1, 0, 1, 2, -1, -4],
滿足要求的三元組集合為:
[[-1, 0, 1],
[-1, -1, 2]
]**如下:
class
solution
:def
threesum
(self, nums: list[
int])-
> list[list[
int]
]:
length=
len(nums)
if length<3:
return
nums.sort(
)if nums[0]
>
0or nums[length-1]
<0:
return
result=
for n in
range
(length):if
(nums[n]
>0)
:return result
if(nums[n]
==nums[n-1]
and n>0)
:continue
i=n+
1
j=length-
1while
(i(nums[i]
+nums[n]
+nums[j]==0
):
[nums[n]
,nums[i]
,nums[j]])
while i==nums[i+1]
:
i+=1while i==nums[j-1]
:
j-=1
j-=1
i+=1elif
(nums[i]
+nums[n]
+nums[j]
<0)
:
i+=1else
:
j-=1return result
leetcode 3 三數之和
給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。示例 給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 class solu...
leetcode 3 兩數之和 easy
給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...
LeetCode 3 兩數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...