Đề bài:
Bài giải:
Code Python
class Solution(object):
def threeSum(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
nums.sort()
n = len(nums)
ans = []
for i in xrange(n - 2):
if i and nums[i] == nums[i - 1]:
continue
j = i + 1
k = n - 1
while j < k:
a, b, c = nums[i], nums[j], nums[k]
x = a + b + c
if x == 0:
ans.append([a, b, c])
while j < k and nums[j] == nums[j + 1]: j += 1
while j < k and nums[k] == nums[k - 1]: k -= 1
j, k = j + 1, k - 1
elif x < 0:
j += 1
else:
k -= 1
return ans
Nhờ các bạn giải với ngôn ngữ khác