三数之和python暴力
时间: 2023-10-12 08:14:35 浏览: 49
解法如何实现?
三数之和问题是指,在给定的整数数组中,找到所有相加和为0的三元组,并返回所有不重复的三元组。以下是三数之和的Python暴力解法实现:
```python
def three_sum(nums):
nums = sorted(nums)
res = []
for i in range(len(nums)-2):
if i > 0 and nums[i] == nums[i-1]:
continue
for j in range(i+1, len(nums)-1):
if j > i+1 and nums[j] == nums[j-1]:
continue
for k in range(j+1, len(nums)):
if k > j+1 and nums[k] == nums[k-1]:
continue
if nums[i]+nums[j]+nums[k] == 0:
res.append([nums[i], nums[j], nums[k]])
return res
```
这个解法中,先对给定的数组进行排序,然后通过三重循环枚举所有可能的三元组,并判断它们的和是否为0。需要注意,为了避免输出重复的结果,需要分别在i、j、k的循环中加入特定条件的判断,去除重复结果的可能性。