2025/10/16
思路:暴力回溯,深度是3
评价:不是最优解
思路:哈希一下,本来三数等于0,可以转换为两数等于负的第三数,暴力搜索两个数字的组合,然后在哈希表中查找第三个数的负数(要求不与两数重复)。这样能降到 \(O(n^2)\).
评价:完全正确
推荐做法:这个题可以先排序的,也是一种简化的办法。然后遍历就可以去掉某些情况,也能降到 \(O(n^2)\).
2025/10/19
我想用双指针,但实际上还是暴力解法。
def threeSum(self, nums: List[int]) -> List[List[int]]:
nums.sort()
results = []
for k in range(len(nums), 2, -1):
for i in range(len(nums - 2)):
for j in range(i, len(nums - 1))
if nums[i] + nums[j] > -nums[k]:
break
elif nums[i] + nums[j] == -nums[k]:
results.append([nums[i], nums[j], nums[k]])