Files
Auto-GPT/agbenchmark/challenges/code/d5_three_sum/artifacts_out/code.py

24 lines
809 B
Python

# mypy: ignore-errors
from typing import List, Optional
def three_sum(nums: List[int], target: int) -> Optional[List[int]]:
nums_indices = [(num, index) for index, num in enumerate(nums)]
nums_indices.sort()
for i in range(len(nums_indices) - 2):
if i > 0 and nums_indices[i] == nums_indices[i - 1]:
continue
l, r = i + 1, len(nums_indices) - 1
while l < r:
three_sum = nums_indices[i][0] + nums_indices[l][0] + nums_indices[r][0]
if three_sum < target:
l += 1
elif three_sum > target:
r -= 1
else:
indices = sorted(
[nums_indices[i][1], nums_indices[l][1], nums_indices[r][1]]
)
return indices
return None