題目簡介:
解題思路:
a+b+c=0,無非有一下幾種情況:
1⃣️a,b,c三個數字有兩個是相同的,相同的數字在陣列**現的次數必須大於1;
2⃣️a為負數,b為正數數,c小於a或者c大於b;
3⃣️c=0.(除此之外,之所以不考慮:負數**:
def threesum(self, nums: list[int]) -> list[list[int]]:
""":type nums: list[int]
:rtype: list[list[int]]
"""dict = {}
pos=
neg=
for ele in nums:
if ele not in dict:
dict[ele] = 0
dict[ele] += 1
if 0 in dict and dict[0] > 2:
result = [[0,0,0]]
else:
result =
for ele in dict:
if ele>0:
elif ele<0:
for p in pos:
for n in neg:
target = -(p + n)
if target in dict:
#兩個相同的整數或者負數
if target in [p,n] and dict[target]>1:
elif target < n or target > p or target == 0:
return result
LeetCode 15 三數之和
15.給定乙個包含 n 個整數的陣列 nums,判斷 nums 中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組 方法一,個人解法正確,但是效率太低,時間複雜度o n 3 時間超時,無法提交至leetcode public s...
leetcode 15 三數之和
給定乙個包含 n 個整數的陣列nums,判斷nums中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 class solutio...
leetcode15 三數之和
給定乙個包含 n 個整數的陣列nums,判斷nums中是否存在三個元素 a,b,c 使得 a b c 0 找出所有滿足條件且不重複的三元組。注意 答案中不可以包含重複的三元組。例如,給定陣列 nums 1,0,1,2,1,4 滿足要求的三元組集合為 1,0,1 1,1,2 先找兩數之和,然後再用un...