mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-25 18:04:28 +01:00
24 lines
809 B
Python
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
|